June 12, 2015, was my last day as a programmer for a Bay Area tech company. I gave them four years of my life, making their website faster and making fellow developers' jobs easier. I left knowing I don't want to get another job in tech. I don't want another job at all.
It's not that I don't like programming. I love programming. I want to do way more of it. I have several ideas for games I want to write. I want to contribute more heavily to open source projects. I'm the only dev for my partner's webcomic site, and it needs plenty of TLC. I want to design a markup language. I want to design a programming language.
Therein lies the problem: Those are some big dreams, and they have very little in common with my employer's dreams. I can do my best to find the overlap, but it's the side signing the paychecks that gets the final say. Eventually the tension became too great, and something had to give. So I gave up the job.
How did I get here?
This is a strange place to be, and when I look back, it's not quite obvious how I ended up here. I'm lucky in some ways and privileged in others, but I'm far from having a mouthful of silver spoons. I wrestle with ADD; I have pretty bad social anxiety; I don't have a college degree. I left home at 18 with a computer, $100, no support from my parents, and no job experience. I'm only 28, which might be relatively young to be swearing off full-time work ... but that's because I'm wildly impatient, which is not a helpful attribute either.
So I'm not all that special. I just try to work hard at things I care about. I got a cushy job despite being a dropout who couldn't relocate because the developer who reviewed my code test loved my work. I got the initial phone call because I'd worked on an open source project with an employee who referred me. I got my previous job based on a Pokémon fansite I started when I was 12!
My partner and I live fairly frugally, too, which made this a much simpler decision — and we could still do much better on that front. We even moved to Las Vegas specifically for the cheap housing, after being put off by the exorbitant cost of living nearer the coast. I'm glad we did, or quitting may not have been possible.
Work turned into a constant gloomy interruption
The first rumblings of job dissatisfaction came a few years ago, when I realized I was dreading even thinking about complex and thorny problems during my off hours. I found that I would end the workday with every intention of making progress on a personal project, only to spend the better part of an evening just getting my head around a difficult part of it — and then I'd have very little time left to actually get anything done. The next morning I would go back to work, and after eight hours of dealing with completely different problems, I'd have lost my train of thought from the night before.
We moved to Las Vegas specifically for the cheap housing. I'm glad we did, or quitting may not have been possible.
So I would devote hours to unproductive ramp-up time, make a tiny dent in what I actually wanted to do, and then have to start nearly from scratch the next evening. Rinse and repeat, day after day after day. In extreme cases, an entire project would stall because I couldn't carve out enough contiguous time to get through the next part of it.
One of the things I've been trying to find time for is learning to draw, so here's a beautiful illustration of how this felt to me. Let's pretend projects are made up of picnics, so I love picnics and want to have as many as possible. This is what time looks like:
Sunny and full of possibilities. I can have a picnic anywhere here — next to the flowers, beneath the conspicuously shadowless tree. Sleep separates the days, but it's a small gap, so it's not too hard to continue where I left off in the morning.
Now let's add a 40-hour work week:
Well, now everything sucks. Each picnic had better fit into one of those little gaps, and the whole time you'll be staring at those storm clouds pinning you in. There are weekends off screen somewhere, but they're much less common than storms, and you can only hold so many picnics in two days.
That's what work turned into: a constant gloomy interruption.
I used to really like my job
It wasn't always storm clouds.
By all accounts, my job was amazing. I worked remotely. I made a great salary and had good benefits. I had a fairly long leash, and for the most part I was left alone to work on whatever I deemed valuable. I couldn't imagine ever leaving.
I chose to spend most of my time cleaning up ancient corners of the codebase that no one understood. It was grueling at times, but I enjoyed seeing old duct tape removed or replaced, and I was surrounded by co-workers who appreciated what I was doing. A lot of them were hacker types, the kinds of people who appreciate programming for its own sake, rather than the means to some more interesting end. They valued my work, and I valued their ... valuation? But the company was growing, and the culture gradually shifted along the way. We had an IPO. We opened other offices. We purchased small competitors, like an amoeba trying to ... become a really big amoeba. We went from "technically a startup" to "technically an international corporation."
As we grew toward and surpassed a critical mass of engineers, the people I knew and respected began to drift apart. The hacker types evaporated away to other jobs, often for startuppier companies. Many of them had been the backbone of our off-topic chatroom, the only place I could socialize with co-workers as a group, and it dwindled in activity even as it swelled in population. With more employees came more teams, and with more teams came fewer chances to interact with any given coworker. Instead of a hurrah when I cleaned up an infamous mess, I became infamous for being the only person who understood it, resulting in an endless stream of questions from strangers. We had twice as many developers as when I'd started, yet I didn't feel like I knew any of them. It turns out this is a great way to make a job less enjoyable.
I saw the tools we had for building services be thrown away and rewritten from scratch two or three times
The work itself changed, too. The order eventually came down: The lumbering monolith powering our website ought to be split into services. (That means breaking a big horrible codebase into a lot of small horrible codebases. Like spreading food around your plate so it looks like you've eaten more.) The decision was probably a good one, and accomplished what it was meant to, but it had a serious impact on my cleanup efforts. Before, I'd been trying to sweep a large, dusty room; now we were installing metaphorical cubicles right on top of the dust.
I saw the tools we had for building services be thrown away and rewritten from scratch two or three times. We had our own test runner, our own deployment tool, our own graphing gizmo, our own web server. Surely these were problems other people had had. Surely these were problems other people had solved. But if they had, either their solutions were not quite right, or they shared screencasts and blog posts rather than usable software.
From what I hear whispered in backchannels, I don't believe that any of this was unique to this company. Sometimes we chuckle about big competitors who constantly borrow from each other: iOS and Android, Firefox and Chrome, operating systems, gaming consoles. Ha, ha, one of them did something and then the other did it a month later. It's not quite so funny when you're in the thick of it and watching this happen at every level. Some 80 percent of paid programming work is reinventing what already exists, and not any better than it was before. Maybe what's out there hasn't been shared, maybe it's written in the wrong language, maybe it's been abandoned, maybe we don't want to pay for it. So we start from scratch. Need our own photo app, need our own photo filetype. Need our own web browser, need our own web protocol. Need our own online store, need our own payment processor.
I don't have a problem with trying to reinvent the wheel for its own sake, just to see if I can make a better wheel. But that's not what we were doing. We were reinventing the wheel when the goal was to build a car, and the existing wheel was just too round or not round enough, and while we're at it, let's rethink that whole windshield idea, and I don't know what a carburetor is so we probably don't need it, and wow this is taking a long time so maybe we should hire a hundred more people? You don't even get the satisfaction of tinkering with the wheel, because the car is so far behind schedule that your wheel will be considered finished as soon as it rolls well enough.
The turning point
I started to feel truly restless toward the end of last year. But I had a very good salary, and I was still stuck with a house, and remote work was hard to find, and myriad other excuses.
A few new roadblocks appeared throughout spring, and my mood soured rapidly. The lightbulb finally came on when I made time for a recent two-week vacation. At first it was absolutely glorious. I was happy, I was productive, I slept like a baby and woke up excited to work some more. It was like night and day. Or maybe storm and sunshine.
And then, one week in, I felt the dark cloud of the following Monday looming, and my momentum immediately stalled. I knew then that I had to leave and I had to do it immediately. I sent my boss my two weeks' notice, in the form of an email subject with no body. The future is weird.
I'm still working out where to go from here. I don't want to go through this ridiculous roller coaster again. My employer thought 40 hours of work per week was worth six digits; surely the entire rest of the world will think the work I can do in thrice that time is worth something.
I had some old stock options, which thankfully were worth enough to pay off the rest of the house. My partner has dedicated years to getting a little media empire off the ground, and was only able to do so because I had a well-paying job. Now that project is starting to pay off, and my partner can return the favor. We've often talked about writing small games together, and I finally have the time to do that.
I'm still working out where to go from here. For now, I'm happier. I'm productive. I'm sleeping better.
People seem to like my writing, so I'll do more of that. I hopped on Patreon a couple months ago, to see if people would pay me to write articles on my blog, and that's been modestly successful. Vox similarly paid me to write this article; maybe they'll do that again. I've wanted to try writing a book for a while, too. Might as well try a little of everything.
This is just a story, and I haven't seen how it ends yet. I've only been gone a week, and so far it feels more like a long weekend than infinite freedom. But I'm happier. I'm productive. I'm sleeping better, save for interruptions by my cat, who is a huge jerk.
A great many people expressed encouragement or sympathy when I first told this tale, and I appreciate it all, truly. If you're sick of the grind, I hope you can find a way out, too. There are undertones in American culture saying that a 9-to-5 job is an honorable goal unto itself, that we should balance "pays well" with "is tolerable" and stick with it until we're 65.
Fuck that. The dream is supposed to be about doing what you love, not being a cog in someone else's machine. Here's hoping we can all find a way to get there.
Eevee is a computer programmer who used to work at a Bay Area tech company. Follow them on Twitter @eevee.