I suck at this
I’ve wanted to program computers ever since I was 14 or 15, and now that I’m 31, I can honestly say I have always known that I suck at programming computers. I’ve come to terms with this knowledge. It doesn’t bother me like it used to. I know I’m bad at my job, but I also know that it doesn’t matter what I think — it matters what I do. [Ed. note: Abe is awesome at his job. He just doesn’t believe it.]
I take on tasks, close tickets, and steadily get better at not sucking quite so hard. But since this feeling of inadequacy seems to be common among programmers, let’s take a tour through my insecurities! I’m not sure why you should come with me, though, it probably won’t be that good.
May 15, 2000 — This date is made up, but it takes us to junior year in high school (go Dolphins!) One of my best friends, Scott, is a year ahead of me in programming classes – he’s taking AP Computer Science, and I’m just taking a programming class. He shows me the code he’s working on, mostly hard-core graphics for video games, mostly in C++. I don’t show him the code I’m working on, mostly crappy websites (the Wayback Machine preserved my Geocities Starcraft fanfiction abomination!)
At this point, I’ve been a fan of programming for a few years, but it hasn’t really clicked for me yet. Everything I write is basically copy-pasted from an O’Reilly book. (Sidenote: remember books?)
May 15, 2005 — This date is also made up, but it roughly corresponds to the day of my one truly rock-star college programming moment: the day I took (and passed!) the final exam for CS 440, Topics in Artificial Intelligence.
Getting a B in that class was one of the hardest things I’ve ever done. I barely understood what was going on; I’d leave lectures in a daze after 45 minutes of a professor saying words that I didn’t comprehend. I’d turn in homework assignments that at best failed in interesting ways. I got celebratorily drunk the night of the final, drunker than I’ve ever been before or since (Note to college kids: Tequila and Red Bull tastes delicious but it is such a bad idea, oh my God).
May 15, 2010 — Let’s just keep doing May 15ths every five years. Now we’re in California, and I’ve moved from a non-technical job answering emails from news publishers to a slightly-technical one, writing Python scripts that don’t work very well to interact with a poorly-maintained database that I am largely in charge of.
I’m not on a technical team, but I’m surrounded by extremely accomplished developers on related teams, and every time I sit in a meeting with them I barely say a word, for fear that they’ll realize I don’t know what I’m talking about and should probably be fired. Every time I have to make a change to the database, I spend the day with my stomach in knots, just knowing that I’ll screw it up somehow and everyone will find out. I dread every time I submit my code for review, certain that each time will be the one they discover that I’m a fraud and need to be eased out of the company.
May 15, 2014 — We’re more or less at the present, and for the first time in my life, I feel comfortable and confident showing up every day to write code. I’ve been at the Tribune for a little over a year; for most of that time, every Monday I would wake up nervous, worried that when I got in and checked my email, disaster would be waiting in the form of angry emails alerting me to an embarrassing bug (or worse.)
Every Monday this would happen, and at my previous job as well. But now it’s stopped happening. I’m not quite sure why, but I think it’s because I’ve realized that insecurities are not the same thing as reality. I know I’m not a very good programmer, but as I get better I realize that things that used to seem immeasurably more complex than anything I could understand are not so daunting.
The code I write is still bad, but it’s markedly less bad than it used to be. And that’s all I can do: to try hard, to steadily get better and to accept that I am going to make a lot more mistakes, some of them embarrassing, some of them catastrophic. There’s no other way to improve. There’s no other way to do what we do.
Watching the World Cup, I was reminded that this is the mentality that athletes must have — the cameras are on, the entire planet is watching, and a defender makes a misstep that lets a striker get by him for a goal. His entire home country thinks he’s terrible now. But he can’t let that bother him.
The next time that striker comes down the field, the defender has to challenge him, confident in the knowledge that this time, the striker’s going to look like an idiot. That’s all he can do. That’s all any of us can do.