Impostor syndrome sucks, and without hearing from real people, you can easily assume every software engineer is a god-tier FAANG architect mage who eats Leetcode Hard problems for breakfast, and never makes a mistake (or at least, I did). Luckily, there’s some normal people out here, too, but weβre the quiet majority.
Read on for a small collection of real world confessions from anonymous devs. These people work at companies ranging from tiny 2 person startups, up to the FAANG companies you can’t stop gushing over.
Since I probably have to add this disclaimer:
This list is meant to be a transparent look into reality to help those with Impostor Syndrome. If you are trying to use this list in a negative way, Iβll be disappointed.
The
I...
is to make them easy to read, not claiming them as my own. A small number of the following are from myself, the rest are from friends, acquaintances, and reading between the lines of online posts on places like Reddit and Teamblind.
I Google 70% of my problems and take credit when the internet solves it for me.
I can’t remember how to write even simple syntax - I end up Googling “how to read a csv with Python” once a month.
I never use a debugger - I exclusively use print()
/ console.log()
/ prinft()
and dig through whatever log system it shows up in. With high level languages, I’m always able to get enough context to understand where I screwed up.
caveat: from my past experience this is less true the lower in the stack you go, as when I was working with C and embedded languages, stepping through a debugger was a godsend. There’s a reason they exist.
Code Reviews: they don’t all get the same quality.
I write kludges, hacks, and hardcoded data into software.
Code Reviews
section. If the cost of a user hitting an error is minimal, and I can quickly push a fix - investing extra energy doesnβt seem worth it. Plus, if your product is still in the Explore of the βExplore, Exploitβ framework, that feature might be thrown out soon anyway.I always use if (true == x){} [in my code]
.
Sometimes I don’t fix errors or warnings.
At work, I build fairly simple tools that an entry-level web dev could run circles around.
I submitted a 1-line PR and became an open source contributor.
On a serious and unfortunate note, there is no cure for Impostor Syndrome. Like maintaining software, there will be updates and patches needed as you encounter new experiences. There are days where I feel like I am a fraud, and everyone around me is too nice to say that I write garbage code. In the end, we all write bugs and make dumb mistakes, so it’s important to have a sense of humor and learn from them, rather than feeling guilty or embarrassed. Knowing others face the same doubts makes it just a little bit easier.
I naively thought I could apply the same complex & scalable solutions used by actual companies to my side projects. I was wrong.
I thought sales was a distant concept from compilers and syntax errors...I've been a fool.
DNS sinkholes like Pi-hole have to rapidly decide whether a new URL is allowed - what data structures might they use under the hood to enable quick responses?