I am not a “passionate programmer”. In the first few years of my career I was defensive about this perceived flaw. I seethed at the notion that I did not give a damn about my work because I wanted to put in a solid eight hours and then get out of the office and do something else, like write or spend time with my wife. I’d bite my tongue to keep from responding to such charges with rejoinders like, “It’s called having a life. You should try it sometime.”
I despised the notion that being a passionate programmer meant spending twelve to sixteen hours a day in the office, coding for the sake of coding at the expense of relationships, hobbies, reading, sleep, and even basic self-care. That’s not passion to me. It’s obsession.
obsession (noun)
- the state of being obsessed with someone or something
- an idea or thought that continually preoccupies or intrudes upon a person’s mind
Nevertheless, this is what employers seem to want. They want you to be willing to burn yourself out through obsessive overwork, but they call it “passion”. It’s a trap.
Is it Machismo or Monomania?
There’s something wrong with our culture. If I fixated on a woman in a manner resembling the devotion American corporations demand of workers, I would rightly be condemned as a crazy person and subjected to a restraining order.
However, the image of the solitary (usually male) nerd in the grip of severe introversion or schizoid personality disorder or high-functioning autistic spectrum disorder is so ingrained in tech culture that employers expect such preoccupation with coding.
Worse, too many male programmers (especially those of the brogrammer persuasion) betray themselves and each other by treating a willingness to forsake everything else to spend more time coding as a badge of honor. Never mind that such expectations drive women out of tech, or make programmers look like masochists who take a beating and say, “Thank you, sir. May I have another?”
The real problem, at least in my experience, is that programmers who spend all their waking hours on the job write shitty code.
Tired Techies Move Slow and Break Things
I learned this fundamental truth the hard way. The one time I was fired for cause was when I worked at a now-defunct outfit called Conduit Internet Technologies. We specialized in online parts catalogs for companies like Case, Mercury Marine, and Elgin Sweeper (a new client when I was on the job).
After working several weeks of twelve-to-fourteen hour days with only Sundays off if I was lucky, management discovered that a parts catalog we had not converted for Elgin absolutely had to be converted, and I was ordered to get it done by the next morning even if I had to spend all night on the job.
I spent all night on the job. In the process I destroyed a database intended for production use because I was too tired to think straight at five in the morning. Never mind that the database should have been automatically backed up, but wasn’t because of an oversight on the senior developers’ parts, I nuked that database because I got tired and sloppy.
I realized my mistake that afternoon and tried to discreetly fix it from home, but management already found out and cut off remote access. They thought I knew the database was screwed and was covering it up.
I didn’t bother to protest, because instead of simply throwing me out they kept me on the payroll for a month and let me look for work from their office, which was more generosity than they owed me considering the damage I caused. Besides, I was so goddamned tired and burned out that getting fired seemed like a relief.
Passion == Suffering
Here’s a little tidbit for you. When an employer tells you they value passion in developers, they’re giving you fair warning. Hearing that word is your chance to run as if the Devil himself and all the fallen angels who followed him were gunning for you.
Most of them don’t realize, and don’t expect you to know either, that the word “passion” is a translation of the Greek word πάσχειν (paschein), which means ‘to suffer’. Granted, it’s called work because all the other four-letter words are taken, but nobody should have to suffer for a living.
It’s one thing to suffer when you’re an obscure artist, a spurned lover, a soldier facing his death, or even Jesus H. Christ himself. But don’t suffer for a paycheck unless you’re the CEO. Otherwise, you don’t get paid enough for that shit.
Nose, Meet Grindstone
None of the above should be construed as an excuse to dick around at work. If you’re at work, then work. Put in a solid eight hour day, and then get the hell out. Give your employer their money’s worth, and nothing more.
How do you give your employer their money’s worth? Focus. Avoid all unnecessary distractions, get into a flow state, and write the best code you can. Avoid pointless meetings (i.e., most of them). Avoid reinventing wheels. Avoid repeating yourself. If you get downtime at work, spend it refining your craft by learning new techniques and design patterns.
Then, once you have worked a solid eight hour day, leave the office and silence your phone. Do not check email or notifications or voice mail. Disconnect, and forget about the job until the next morning. Put your nose to the grindstone, but don’t grind it down until there’s nothing left.
Go do something else. Have a beer, work out, pray, make love, play with your children, walk your dog, give your cat a belly rub, make art, go to a fight club and duke it out with a stranger, read, masturbate, make music, or jump out of a goddamn airplane. I don’t give a damn what you do, as long as you aren’t coding.
Who the hell are you, anyway? Andrei fucking Stakhanov? What good did his workaholism do him, his fellow workers, or the Soviet Union? Take a goddamn break already.
Human, All Too Human
You are only human. You are not immortal, but that’s no excuse to kill yourself so that rich assholes can get even richer by keeping for themselves the difference between the value you create and the wages they pay you.
Not only do you need to rest after a day’s work, so you can continue to do good solid work the next day, but you are entitled to that rest. So take the rest you need as your rightful due, and ignore your bosses when they bitch about you only working nine-to-five.
They’re not looking out for you, your health, or your happiness. That’s your job, and it’s your real job. Your first responsibility, the one that takes precedence over all others, is toward yourself. When your culture says otherwise, it’s lying to you.
What you do at the office is just a means to an end. Let it become an end in itself, and you’ll lose sight of what’s best in life — which is to crush your enemies, see them driven before you, and exult in the lamentations of their loved ones. Besides, you won’t come to hate your job nearly as much if you allow yourself respite from it.
Notes
- This post originally appeared on Medium because I was thirsty and the Koolaid looked tasty.
- It also ruffled some feathers on the Orange Website back in the day.
- Justin Searls at TestDouble recently linked to original version of this post in a post about “why the era of enthusiast programmers is coming to an end”. What he doesn’t seem to get is that being an enthusiast on the job is a damned good way to get exploited.