You started developing software a long time ago, but you still feel like you're bad at coding.
You're not alone.
Many developers feel this way.
But most devs are, per definition, around average. So you're likely a decent software developer.
The reason you still feel like you're bad at coding is that you're falling into one of two categories:
People have talked about this before, but developers are prone to the impostor syndrome. We feel like we've just gotten lucky in that test. The interviewer only posed challenges we practiced.
And nobody has asked questions yet that could reveal us.
Reveal that we don't know nearly as much as we should.
It could blow up at any moment.
It can feel like this because:
- We read blogs every day where rockstar developers from big-name companies write about all the crazy scalability challenges they solve and how they manage their 10'000-pod Kubernetes cluster. Yes, this may all be the case. But it doesn't negate your own challenges.
- The pile of things to learn grows larger every day. And you can't be a good developer if you still need StackOverflow or editor autocomplete to know which braces you need for a switch-case statement, right? Right? Wrong. You don't need to know everything.
A good developer isn't somebody who knows everything and always finds the perfect solution on the first try. A good developer is someone who solves challenges, big and small, one after the other. Together with their team or with the help of random people on the internet. With a better-than-random judgement of what might work.
So if you have done a few projects and are working as a software engineer in a team, don't question your expertise. Just continue learning.
Remember: a real impostor would never question if they were an impostor.
Maybe you're not yet working as a professional developer.
Or you have just started a dev job.
This can feel as if you'll never make it to the "professional developer" side.
But remember this.
You have learned to walk, to speak, and to write, and billions of people have learned that before you.
And just as millions of people before you, you will learn to be a professional developer.
It just takes practice.
And more practice.
Solving one challenge after the other.
If you are already a professional developer, I recommend you to:
- Check out this RailsConf talk, which was one of the first talks around impostor syndrome for developers (money quote: "the funniest thing was my brain played this great trick on me: it told me I didn't have impostor syndrome bad enough to give a talk on impostor syndrome.")
- Make (and keep) a list of every project you have completed and every challenge you have overcome - be proud of them and keep them close for the next time you feel down
If you're just starting out on software development, I recommend:
- Check out Danny Thompson for motivation. He went from a job at a gas station to working for Google because he learned to code. And he is sharing his excitement with everyone else.
- Keep doing learning projects. Apply for and prepare for a coding interview when you have done 2-3 personal projects.
If you liked this, you'll like my weekly newsletter even more! Each issue of Nerdful Mind contains one mindful idea, three reading recommendations, and one mindfulness exercise.
It's fueled by 7 years of software development and meditation experience, and will help you become a better sofware engineer and more content with what you do.