January 30, 2020
I started my self-taught software engineering journey four months ago. Since then, I’ve gone on over twenty coffee chats with software engineers. I invite folks to coffee chats to learn about their journey, hear their thoughts on the industry, and to ask for advice on becoming a self-taught software engineer. These tips are tried and true. I've applied each of these tips throughout my learning journey.
Get out of tutorial hell, especially in the early stages of your learning. Once you've built a couple of mini projects, apply your knowledge to solve a problem that's interesting to you.
Recruiters and hiring managers will look at your projects. Write good documentation to help them quickly understand what you’ve built, why you built it, and how you built it. Here’s a guide on writing a thorough readme.
Practice collaborating with other developers, explaining your thought process out loud, and speaking technically. This will help prepare you for interviews and real world work.
Go to local meetups and conferences to meet people in the industry who you can learn from and also learn with.
You learn better by teaching others. Teaching a concept, even if you're not an expert, is a great way to identify gaps in your own knowledge, test your understanding, and deepen your understanding of the topic.
There is a sea of junior developers. Show your personality and how your unique perspective will bring value to the team.
Do you need structure? Can you create structure out of chaos? Is mentorship a strong requirement for you? Can you dive right into the weeds without structured support? These are some questions to reflect on to help determine if you should look for an internship, apprenticeship, or a full-time job.
Why do you want to be a software engineer? Your answer to this question will be your North Star. Your North Star is what’s going to guide you and keep you motivated even when you face rough patches.
Being a self-taught developer can be hard. Imposter syndrome is real, but know that you can and you will move forward. You're going to go the extra mile to network, keep learning, and crush all the interviews.
Mental health is important. Schedule time each week to do at least one activity that brings you joy. Don't burn out.
Huge thanks to all the folks who have shared their learnings and advice with me. I hope these tips help you on your programming journey. Remember to find your North Star, keep building, and keep on going!
What's your tip to aspiring software engineers?