If you have Imposter Syndrome, the Magic Question will set you free

Ryo Mac
Psynamic
Published in
4 min readApr 8, 2018

How can a junior developer who only did an 8-week coding bootcamp, or who just watched some youtube videos for a few months, suddenly create an entire production-ready website by themselves? How could they possibly understand all of the complex concepts involved, while I still struggle to grasp the basics? After over a year of struggling with imposter syndrome, I finally understand where the discrepancy between my skill level and that of my peers comes from: Junior developers are full of shit.

A Contextual Foundation

Much in the same way that people “massage the truth” on their resumes, many junior developers & students don’t tell the whole story about their coding experience. The main reason for this is simple: It sounds more impressive to learn a skill in a short time than a long time (which is why juniors generally don’t round up when they approximate how long they have been coding for).

I have seen this during my entire (albeit relatively short) development career, from my coding bootcamp classmates, to colleagues I’ve worked with. Everyone seems to want to downplay their experience. A recent article by Austin Tackaberry reminded me of this (don’t get me wrong, it’s a great article — definitely check out if you’re new to development). It’s called “How I went from newbie to Software Engineer in 9 months while working full time.” In this case, “newbie” is not being used to mean “new to code,” since — as he mentions in a section called “full disclosure” (bolds are mine):

I took a Visual Basic for Applications (VBA) course in high school (nine years ago). In my freshman engineering course (seven years ago), I learned some C, Python, Matlab, and Labview.

Indeed, almost every developer who has some formal education in computer science has told me the same thing: their CS background “didn’t help them at all.” They learnt a different language than they use now, there wasn’t much/any actual programming involved, they forgot everything already, etc. I am well aware that most university programs for CS do not adequately produce good developers (I am mainly talking about web developers, because that is what I do/know)… but it seems that these people almost always fail to appreciate the benefits of their exposure to such education. You cannot learn to code unless you actually understand what you are coding, which is why learning CS theory, problem-solving skills, or how computers think in general, etc., are incredibly beneficial. Take my experience learning Japanese as an example.

In Japanese, the most complex script is called “kanji” (漢字), derived from Chinese. As you can see… it’s kinda complex. If I wanted you to learn to write that word properly, I could get you to repeat writing it out 100 times until it starts to look right. You might be able to do it by memory after 100, maybe… but if I actually taught you the fundamentals of those characters (the radicals, meaning, stroke order, pronunciation, etc.) then you wouldn’t need to write it out a 100 times, maybe just 5–10 (which is great, considering that there are 2000+ more kanji characters for everyday usage).

In other words: when you have a contextual foundation of knowledge, you simply understand (and therefore retain) more of what you learn. This is also why it’s so easy to learn an additional programming language after you have learnt your first.

Comparing Yourself to Others

Coding ability just comes down to experience. It’s a skill, just like juggling or riding a bike — the more you practice, the better you get. Therefore, if you used to be good at programming and then stopped for 10 years, I can pretty much guarantee that it will be easier to pick it back up than if you had never started in the first place. This explains the obvious correlation I have observed in bootcamps between people who have had experience with CS, and those who have not.

For this reason, I no longer believe really talented junior developers when they tell me their story of having just gotten a job after 10 weeks of learning programming without any prior experience or whatnot. This brings me to the question that I have found most revealing about someone’s abilities: “When did you write your first line of code?”

Needless to say, I don’t mean that everyone continued learning to code from the time they wrote their first “hello world”; but I call this the “magic question” because I have found it to reveal a lot of interesting information about the experience of developers (e.g. “I took a Java course in university” or “I took some programming classes throughout high school”). Time and time again, I find that the peers whom I thought were at a similar skill level as me are simply more experienced.

So when I say that junior developers are full of shit, I’m not talking about some systemic conspiracy. But they (and some senior devs too) simply may not be telling the full story. I am sure many of them are not lying, but genuinely believe that their prior experience did not influence their current skill level. And you know what? They may actually be correct — we can’t know for sure.

But from my experience learning psychology, foreign languages, and web development, here’s what I can conclude: If you are thinking that your peers are better/smarter than you, it just means they are more experienced at whatever you’re being measured in. In fact, if they answer the Magic Question truthfully, inevitably you’ll see that they started earlier than you did (or else they’ve been working harder honing those skills than you since they started). So all you need is more experience — there’s nothing wrong with you.

So cheer up, and happy coding.

--

--