John was a developer. To be specific, he was a young, white, straight, young, self-taught developer. He wasn’t rare, but he was special. John grew up with a couple parents, who paid for everything he needed. John regularly filled his belly, with the finest food his family could provide. John got every toy he asked for, once he learn that asking for 3 toys was a good way to get at least 1 toy.
John got average grades, but it was ok because [according to mum]; “he’s just bored of schooling, and too clever”. He walked right out of high-school and into a programming job. The pay wasn’t great; only enough for a small apartment and modest groceries [for one]. In time he’d earn more.
Over the years, John quickly got bored of programming. He loved the thought of the career, but it was all so boring. He moved jobs every year or so, and only then when his idiot bosses stopped seeing how much he mattered to their company.
It was just as well, because most of the other developers he worked with were idiots too. Did they even know how to program? All they wanted to do was talk and ask questions and they weren’t as interested in John’s work as intelligent people should be. He did once work with a girl developer, though. She was so pretty for a programmer. I mean, if you can call CSS and HTML programming.
I am angry.
For the longest time, I was John. I thought every boring task beneath me, every other developer mediocre at best. I was my own hero, and my mom was right (albeit annoying) that I was brilliant. If only those around me could see this.
But then I grew up a little.
I realized what an entitled, self-centered asshole I was being. How the people around me mattered and how I didn’t really matter as much as I wanted to believe I did. I don’t know if it was because I got married or had kids. I think both of those things can help someone grow up, but I like to think that I grew up because of how reprehensible I was and how appealing the alternative is to me now.
I don’t deserve a cookie. Being a decent human, and not an entirely loathsome asshole, isn’t an achievement. It’s just less common than one might think…
The problem many people like me suffer from is that we’re not forced to grow up. We are born into comfort. We never have to learn what it means to struggle. We don’t have to study to program, so we think we’re lucky, which quickly morphs into thinking we’re gifted. We never have to pay our own student loans, or learn to wake up early, to be at a job we value.
“Look at those doctors, electricians, plumbers, lawyers. They’re stuck studying some nonsense while I can work straight away. If only I could find a fun job…”
We move around, because it’s easy to get hired and difficult to hire talented developers. And being talented is no guarantee that someone can speak properly to others or do a good job. We believe that we can look busy and work at most 1 or 2 hours a day.
“They’ll still pay us, and if they don’t, we can just move somewhere else”.
We hate meetings, not because they’re a distraction (from the work we’re employed to do but not busy with), but because someone’s going to ask “how we’re doing with the project”. We hate that question because we can’t answer it.
“Things are complicated, trying to figure out what the other idiots have done/are doing/still have to do”.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
We project every. single. delay on others. Our work is brilliant, but we’re tied up sorting out the problems others have foisted upon us. If this carries on long enough, we’re going to get righteously upset and quit.
It’s not just the meetings, it’s constant interruptions from the other idiots around here. People asking for help and not just writing good code. “If I have to tell them to RTFM again, I swear I’m going to delete their code”.
We just want to put our headphones on and finish reading this review of The Legend of Zelda (it sounds like a good game). Then we’re probably go back to reading that funny sub-reddit and soon it’s lunch. Maybe I can finish debugging that thing before the end of the day. It’s not like they need it before all the work the others need to do. Besides, the project managers always double the time things take, so I’m sure they’re just lying about the deadline at the end of the week. They think they can trick us. Idiots.
I am so angry, because I see so much of myself in this. I used to resist meetings, because they were the quickest way for someone to see that I hadn’t done the work I’d said I would do. Or worse: the work I said was done, even though it wasn’t. I didn’t want to be interrupted because they’d see I wasn’t doing anything remotely work-related at that moment.
And appearances were everything. Why admit I hadn’t worked hard enough, or didn’t know what I was doing; when I could just blame it one someone or something else?
I once spent a few days, in the office I had demanded, mostly playing World of Warcraft.
And you know what? I was the idiot. I was childish and entitled and didn’t deserve the trust others had placed in me. I was angry when they expected me to produce the work they were paying me to produce. I was angry when they politely suggested daily meetings. I was beside myself when they told me I wasn’t working fast enough.
I was wrong.
I am angry when I see these patterns in others. It’s not like I expect them to be perfect (I’m not) or that I’ve forgotten that I was once like that (I haven’t). It’s because I wasted so many career years playing at work. Failing to learn and failing to grow. And I wasted a lot of time and money of the people who trusted that I was being professional. That I was working to my fullest.
Even to this day, I interact with John. He tells me how little I know, and how hard things would be to explain to anybody I suggest to help him. How this API and that service are to blame for the bugs and delays, and it’ll be done when it’s done. I see through his resistance to daily catch-ups. I tire at his constant excuses and the promises he fails to keep.
I think of all these clever little things I could do, to force John to work. All these processes and mantras and check-lists. Then I despair. The only thing that’s going to make John realise he is wasting away is wasting away enough to fall through his safety net. He’s going to have to grow up on his own, and maybe then he’ll pay it forward to his future employers and clients.
I hope that, by this commitment to excellence, I too can be redeemed.
Christopher is a writer and coder, working at Over. He usually works on application architecture, though sometimes you'll find him building compilers or robots.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers