You have my soul. I have your money. –Charles Bukowski
When I made my first webpage, at 17, I didn’t fall in love with coding. Living an hour north of Seattle, I and the other kids around me had for several years been hearing adults reward any sort of demonstrated aptitude for computers with the superlative The Next Bill Gates(!). We all knew that Bill Gates was a very rich person who’d found a way to print money in a state where previously only Boeing and rock stars could do that. Which is to say, I didn’t fall in love with coding, I stumbled into a potential career that by all accounts was going to make me–like Mr. Gates–very rich.
Recently, I decided to try and give up programming. I don’t have a new career plan, but that was never what this was about. Programming allowed me to buy and remodel a house, which I then sold for a profit. For a short time, I have the option of simply not having a career. For the first time since I was fourteen, I don’t have to think about finding a new job or self-employment.
Being able to take time to answer the question “what do I want to do with my life?” requires not having to ask the question “how am I going to eat tomorrow?” Most people in the world don’t get to take a “gap year” and run off to Europe or Asia or Africa to find their purpose. The purpose for most people in the world is simple: get paid. The opportunity to search for something beyond that is a rare luxury, and personally I will be damned if I’m going to squander mine continuing to sit in front of a computer implementing tepid little A/B tests.
This isn’t actually about me, though. I didn’t grow up rich and I always had to work; that’s as much as is really relevant. This is about you, a hypothetical you, unfortunately, who belongs to a group unlikely to ever read a post like this.
The person I want to address is the person who also never got a gap year or a summer abroad, who is not considering programming as a career and should be. That may be a confusing statement for a person who’s quit programming to make, but I do still see value in the profession. Specifically, I see it as an opportunity for people who’ve had little opportunity to create their own opportunities; I see it as a way to make shitloads of money. You have to approach it with the right mindset, though, and I believe that mindset to be: get yours and get out.
This will come as a shock, perhaps, to people who live in the bubble of San Francisco, but the programming profession remains stigmatized. You might get teased for going to nursing school at night, but nursing is a job that normal people have. Programming, like most of tech, has cultivated a perception of itself as a job that only exceptional people have, not a job that you simply study for, interview for, and then work at. I don’t mean to say that I think people don’t pursue this career because they doubt their own exceptionalism, but that they don’t pursue it because they have no ambition of joining a cult.
Working in tech–and especially trying to advance within it–asks of us our support for the self-defined mythology about our industry and the people within it. You don’t go around telling people you only code for the money while you still need a coding job, that’s suicide. You have to say you code for the challenge at minimum, or the beauty of naked logic or the unlimited power to create, if you want to really sell it. (Don’t worry, no one will ask you what that has to do with creating an iPhone app that helps you find friends who wear the same wash of jeans as you.) I am not a sociologist, but I believe pretty firmly that this is the most fundamental thing keeping tech from being more diverse. It asks us to fundamentally change how we portray ourselves, to be programmers first and everything else merely in the last twenty characters of our twitter bio. Not only is that a terrible place for diversity to flourish, the competition over who can best pander to the nerd stereotype sends a message that diversity is something we want to weed out.
The good news, hypothetical reader, is that you can ignore all that bullshit. You don’t need to be Supernerd to program a computer; you just need to learn to code. If you can fake it for interviews and in order to advance your career, you’ll definitely go further, but never feel bad about either faking it or not being able to. Is it cynical to learn just enough Haskell to be able to mention it casually so you can get promoted to lead engineer? Sure. But when you talk to someone who wants to tell you about learning Haskell because of the gorgeous purity of the language or something, remember that what that person contributes to the world are fucking iPhone apps about denim washes.
I know a bunch of people struggling to make ends meet, and pretty much all of them could do the job that used to be mine. It’s great and noble to try and equalize opportunity, but we also need to promote a mindset that allows people to exploit it. And I do very much mean exploit. Telling would-be programmers they can’t approach the profession with cynicism in their hearts turns people away. And it’s a lie. I made a very successful career of programming while entirely motivated by having a good paying job, and at the risk of being a braggart, I was a good programmer. People concerned with collecting a paycheck have excellent work ethics, and the industry would benefit from more of them in it.
And so, hypothetical reader, I say it again: learn to code. Learn enough nerd jokes to pass within the profession. Make some money. Pay off your debts and save or invest everything else. Spend twenty years telling everyone you have your dream job, then leave it and go and pursue your real dreams. Get yours and get out.