There are a bunch of bitterly ironic things about the software industry. Let’s talk about one of them!
Programmers love to feel smart and chose a profession that makes us feel stupid all the freaking time. I don’t know anyone who doesn’t like feeling smart but let’s be honest, programmers really like feeling smart.
So many of us were weird nerds as kids and being smart was the one thing we got praised for, so we tend to build our entire identities around being smart. And thanks to rampant gate-keeping and teaching methods that only work for a minority of students, it’s really hard to learn to code so people assume that anyone who can get a computer to do what they tell it must be extraordinarily smart. I maintain that learning to code is more of a matter of stubbornness than cleverness but that’s a different blog post :)
Plus being at a computer and away from people is pretty attractive for weird little nerds who aren’t good with people (why yes, I am foreshadowing another terrible irony post), so we end up working as programmers. Where… we end up feeling like complete idiots at least twice a day. Yay.
For example, I freaked myself out the other day by missing a step while I was testing a complicated bit of code before I committed it. Turns out it works better when you actually do all the steps 🤦♀️. I can’t even tell you how many hours I’ve wasted trying on silly mistakes from deploying to the wrong server to messing up my application config to querying the wrong table to outright forgetting to test part of my ticket before committing it and handing it off.
Humans and computers are good at such different things that it’s kind of no wonder programming makes us feel stupid all the time. The human brain can only keep track of so many tiny details at once, so we constantly trip over things like semi-colons and getting conditions the right way around. I swear 90% of best practices in development are just ways to compensate for how bad our brains are at programming. Small methods? Fewer paths through the code for our squishy animal brains to keep track of. Functional programming? Fewer side effects for our squishy animal brains to keep track of. Simple interfaces? Fewer details for our squishy animal brains to keep track of!
But seriously, it sucks to pin everything on how smart you are and feel stupid all the goddamn time. I don’t have a magic wand to fix that, but I can tell you that if programming sometimes makes you feel like you made a terrible mistake and should pack it in and go raise goats or something, you’re not alone. Sometimes it feels like our industry was designed to make us nuts.
“Sometimes it feels like our industry was designed to make us nuts.” — Truer words have never been spoken. :)
I really needed to read this lmao
I’ve been crying in my empty room for about 30 minutes but this just made me feel better.
I’m ready to go back in for another session of bashing my head against a wall
Bravo for sharing this. Absolutely true and just happy to find this post since I feel like this every darn day. 10 years into my programming career and still feeling just as stupid at coding as I was in the very beginning. If not more!
Nice post. I completeley agree. Feeling dumb is an inevitable side-effect of the job. I faced this a while ago, and decided to accept that I will inevitably come up short again and again. Instead of feeling like a failure, I try to remind myself that obstacles are the rule, not the exception. That obstacles are also a useful sign of where I get to practice my patience and prove to myself that I can persevere and become better. It’s not always easy to get into this mindset, but it’s has helped me on several occasions.
I feel this in my soul today.