As a person who’s been programming for over a decade, I can testify about my early feelings of Imposter Syndrome. When I first started learning how to code, I thought it would be easy. Then I realized how much I would have to learn, and then it felt like an impossible task. But I made a decision that I would learn how to code. I made it my mission to take it day by day, putting in the hours and studying. I figured if others could do it, so could I.
I started off with HTML which wasn’t that difficult, but as I progressed, I often found it hard to retain everything I was learning. And on top of that, putting it all together was even harder. Developing the skill to Think like a Programmer didn’t come naturally. Maybe you’ve had that feeling of “Ok, I took this course or read this book, I finished the example projects, but now how do I make something of my own?”. That feeling haunted me for a while.
I took course after course, I purchased all the books I could find. I went through the documentation pages and kept trying to figure it all out. After a while, it started to click. I was getting a better grasp of how things should work. It wasn’t easy, but it was getting easier.
Here’s a Motivational Video I made about Imposter Syndrome
I Doubted Myself
Then more thoughts were creeping into my head. I was saying to myself “I’m starting to get a grasp of this code stuff, but I don’t know, what I don’t know.” and that was a problem. It’s a problem that a lot of self taught programmers run into. Gaps in knowledge that can haunt us even if we don’t know it. If there’s a major gap in our knowledge, then that can cause problems that we just can’t see.
I knew there were gaps I had to try and find. I went down the rabbit hole of becoming a Full Stack Web Developer and it prolonged my process and timeline. I felt I needed to know the ins and outs of every aspect of web design and development. For me that meant I needed to be well versed in various languages:
This was my Mount Everest and I was training without a guide, without a coach, literally just going at it alone.
I felt the crushing feeling of Imposter Syndrome and it took a long time to realize that it’s ok not to be a master in every language and framework in my stack. It’s unlikely that anyone can master so much unless they spent 20 years without ever trying to actually make a dollar or have a life.
WordPress Became my Bread and Butter
My path lead me to WordPress since it was such a dominating platform that everyone seemed to be using. WordPress Market Share just kept growing and I felt that if I was going to find success as a Freelance Developer, I needed to have a solid grasp of how WordPress functions, how WordPress Themes work, I needed to get extremely familiar with creating custom themes that would benefit my clients.
Then I needed to learn everything I could about WordPress Plugins and how they’re developed and worked. I needed to learn how to configure the most popular plugins used by the majority of websites. It was no small undertaking. It often felt overwhelming.
Let’s Talk about Imposter Syndrome
Impostor Syndrome is a psychological pattern in which an individual doubts their accomplishments or talents and has a persistent internalized fear of being exposed as a “fraud”. Despite evidence of their competence, those experiencing this phenomenon remain convinced that they are frauds and do not deserve the success they have achieved. Such individuals incorrectly attribute their success to luck, or as a result of deceiving others into thinking they are more intelligent or capable than they perceive themselves to be.
Imposter Syndrome is common in a lot of different fields that require a high level of expertise. So it goes without saying that Programmers often feel as though they’re imposters.
This is particularly true when a programmer is self taught and all of a sudden they enter a position where they’re working with other programmers who have more experience than they do and maybe even got a degree in Computer Science from a big name university.
Then there’s the issue of programmers who have the mindset that their programming language is better than yours, or the framework they use is superior. The argument about which is the best programming language has been around since the early days of programming.
Other Causes of Imposter Syndrome
- Perfectionism – We all wish we could write perfect code on the very first try. But the reality is we don’t, and it’s highly unlikely that anyone has ever written perfect code, especially on complex projects and especially on the first try. Even the brightest programmers have had to end up refactoring their code.
- Fear of Failure – This is common and stems from our attempts to write perfect code. We might say to ourselves “If I don’t do this perfectly, I’ll get fired or the client will go elsewhere”. That feeling can dominate our thoughts and make it virtually impossible to write quality code.
- Working in High Pressure Environments – We live in a very fast paced society. I like to call it the microwave society because we want things fast, but at the same time, it’s gotta be done right. It’s also known as the Move Fast and Break Things environment and that can be another thing that triggers the feeling of being an imposter.
How to Overcome Imposter Syndrome
Overcoming Imposter Syndrome might not seem easy, but one thing I learned is that it’s important to reframe how you perceive your skills. Now I’m not saying you should be overly confident to the point where you believe you’re capable of things that you’re not really ready for. What I am saying is that you need to know that learning how to program is a life long journey. If you’ve put in the time, if you worked on multiple projects and are getting good results, if you’re not completely lost when talking with people in your field and can have an intelligent conversation with others about code, then you’re not an Imposter.
That being said, here are some formal tips on overcoming Imposter Syndrome.
- Acknowledge your feelings – This is the first step. Don’t deny your feeling, understand where they’re coming from and what’s causing them.
- Realize that no one is perfect – The overwhelming majority of people at some point, in some way, felt as though they were an imposter. Perfect code doesn’t exist.
- Recognize your accomplishments – Look back on projects that you’ve been able to complete. Solutions you’ve created to peoples problems. Contributions you’ve made to others projects. Take a look back at how far you’ve come and all you put into getting to where you are.
- Talk to other programmers – Since others have most likely felt the same way you might feel, getting advice from them might be helpful. Also, they might still be feeling the same way and now the two of you can work through it together.
I’ve felt like an imposter even though I’ve spent years learning various programming languages. When I started creating YouTube Videos, oh man I really started to feel like an Imposter. Taking a look back at some of my earliest videos on my channel, and honestly, I wasn’t ready, but I still pushed through the gut wrenching feeling that I always felt when hitting the record button.
Even today, after uploading over 400 videos on my YouTube channel and creating tutorials for over 7 years now, I still get that feeling in my stomach. So what that really means is the feeling might never really go away, nor should it. Having a little fear can be useful. It forces you to reflect on what you’re doing. To think about your process, your skills, your gaps, and what needs to be fine tuned.
We are all a work in progress. We are always in beta mode even if we push our projects to production. There’s always more that we can learn, especially when the programming world seems to change on a dime and often without notice.
One of my favorite videos that I ever uploaded talks about the topic of the Talented Coder. Check it out and I think you might find it useful.
Hopefully you found this article helpful. I just wanted to share my thoughts on such an important topic that impacts so many creative people in various fields, including programming.