Public Speaking, Sponsorship and SB Women in STEM
Public Speaking
In the spirit of sponsorship, I was encouraged by my manager to apply to speak at the Santa Barbara Women In STEM talk. Embracing the philosophy of Learning in Public, I submitted my application and was chosen as a speaker. Little did I know, this turned out to be a competition, as revealed during the prep meeting.
I've never particularly enjoyed public speaking or performing on a stage in general. I consider myself a better audience member, offering eye contact, smiles, and enthusiastic applause. Years ago, to ensure I could deliver a memorable Maid of Honor speech, I participated in 6 months of Toast Masters (specifically at Toast Masters Goleta, which I highly recommend). It is worth mentioning that being open to learning in public allowed me to identify my weaknesses in public speaking and improve at a much faster pace.
Now, let's shift our focus back to learning a new language.
When I wrote this talk, I had been working as a Software Engineer for approximately four years, and I was about four months into learning my fourth programming language. It seemed like an opportune time to summarize four lessons and corresponding habits that I intend to continue practicing.
If you'd rather watch me provide these tips, here is a video. I'm happy to share that my mentee, Juliana Hernandez, gave the first talk, and I delivered the final one. She won the People's Choice award, while I was honored with the Judges' Choice award.
1: Be Intentional with How You Spend Your Time
I recently spent not-a-small-amount of time on zoom with a few coworkers learning something new. This zoom-based group learning worked for them, but after reflecting and listening to my own self, I realized that there was too much going on for me in these sessions. My brain was not calm enough to learn. So I switched it up to invest my time where I was learning better - through reading, watching tutorials, and one-on-one pairing sessions writing code and discussing.
What works for others won't necessarily work for you. Our brains are wonderfully unique to each of us, and you've been working with your brain for a long time, so listen to the feedback it's giving you and frequently re-evaluate what's working and what needs to change.
If you're not particularly introspective, here's an idea to start this conversation with yourself: ask yourself what you learned or what you are proud of at the end of each week. Do this on the same day, at the same time in the same place to begin forming a habit. It's that simple.
You'll learn more effectively by being intentional and investing time in the ways that maximize your return.
2: Commit to Learning Consistently
If you don't consistently use your new language skill, you're going to lose it. At the start of a new project, I was excited and spent a lot of energy upfront learning TypeScript - reading articles, watching tutorials, and completing challenges on exercism.io. This was engaging and effective for me, and I learned quickly! But then a different project came up at work, and I didn't use TypeScript for a month. When I began working on the TypeScript project again, it turned out I had to relearn a lot.
Next time, I'll complete practice problems on a weekly cadence. I may also pace myself on the upfront learning, knowing that I will carve out time each day or week. In the end, I am sure I will end up spending less time being consistent than learning once, forgetting, and relearning again. So I recommend you commit to learning consistently even if it is only a small amount of time, or one practice problem per day.
3: Teach Others
Research shows that teaching others will help to improve your own understanding. One of the reasons this is so effective is because the act of preparing helps to ensure you know what you're trying to teach. And combined with the interaction with the person you are teaching, this helps to find any missing gaps in your knowledge and truly solidify the lesson.
I recommend finding someone to teach! It could be a mentee, or a partner to learn with (you can teach each other), or find someone in a meetup group like SB Learn To Code. Or you can write a blog post and teach the internet.
4: Communicate with Others That Know More Than You
You don't know what you don't know. By communicating with others that know more than you, they will help to point out techniques you don't know, and pitfalls you might be able to avoid. I use the word communicate as a broad term that could be applied to requesting code review, having someone take a look at an entire project you've written, or just a specific function, or try to work alongside colleagues that know more than you, or even just start a casual conversation to understand something tricky that someone else wrote.
An added benefit is that you'll likely feel some social pressure to do your due diligence and make the conversation worthwhile.
By communicating with others that know more than you, you're going to not only learn the language but learn good habits and best practices in the process.
I hope these four tips to be intentional, commit to learning consistently, teach others, and communicate with those that know more than you help you on the next programming language you learn.