Imposter Syndrome is what happens when you feel inadequate as a developer. Despite all the skills and experience you have, this feeling still creeps up from time to time. From junior to senior developers, everyone will face this at one point or another.
After reading this article by Mark Manson, I found one way to recalibrate when it comes to the way I'm feeling about my work. The Most Important Question of Your Life can apply to just about anything, so I modified the question for developers. And the question is:
"Are you willing to sustain the pain that comes with learning, improving, and working in web development?"
And how do developers suffer? Well, here are a few examples:
- Debugging issues with no clear solution
- Learning difficult concepts that don't sink in easily
- Having to learn more new technology to stay relevant
- Deleting code you worked hard to write because it is not needed anymore
If your answer to the question above is yes, then here are some tips to ease the pain of pursuing web development:
Reverse Engineer the Role You Want to Have
Look up and carefully read job descriptions for your dream role. Find interviews of developers holding that role to learn more about what they do. Some great podcasts where you can find interviews are The Code Newbie Podcast and The Learn Code With Me Podcast.
Reach out to companies who hire for that role and ask them how they evaluate potential applicants so you can plan to build those skills. Create goals and review them every day to make sure you are on the right path.
Connect with Others
If you are going to suffer anyway, why not suffer together? Join meetups, discord servers, and/or get more active on social media. I highly recommend learning more about communities such as #devinitelyhealthy and #100daysofcode that have great support for developers of all levels.
If you prefer one-on-one interaction, either look into getting a mentor or become a mentor yourself. Gergely Orosz wrote a comprehensive article about developers mentoring other developers that gives you a good sense of what mentorship is like. Sam Julien has useful recommendations if you prefer to self-mentor.
Whether you are solidifying your current skills or trying to learn new concepts, building projects is a way to show what your learning. These projects can be talking points for interview questions or ways to share what you are learning with others. Create small projects and constantly keep building. You don’t need to add so many technologies to one project. It could be focused on concepts you want to reinforce or maybe you want to try something new.
If you need project ideas, take a look at Florin Pop's App Ideas Collection on GitHub. Project ideas are organized by level with lots of detailed information to get you started. You could also try some coding challenges that come with designs and specs for you to build a project from sites like Frontend Mentor or Dev Challenges.
Teach What You Know
Sharing your knowledge forces you to get clear about basic concepts in a way that is easy for others to understand. For example, you could create tutorials or share how you went about learning a new technology. You can write blogs, start a YouTube channel, or even write an e-book. You can also help other developers troubleshoot issues.
Maintain a Career Doc
With all this activity, you'll want to keep track of what you are doing and learning. Udara Weerasinghe wrote a detailed post about this called Level Up Your Resume: Why You Should Start a Career Doc. You'll see how much progress you've made by regularly logging what you're learning and these details will be ready for you when you are job hunting.
Imposter Syndrome does not have to stop you from pursuing what you want. Make it the fuel that gets you out of your comfort zone, into your dream role, or leveling up in your current position.