Life as a Developer

This is me every time something goes wrong at my day job.

- Out of order. - Fuck! Even in the future nothing works.
Hey, man, it worked on my machine.

It’s a good thing I work from home, because dropping the F-bomb really isn’t appropriate office behavior. Of course, I can still think it even if I know better than to say it. (I have a lot of experience with self-censorship.)

In 1987, “even in the future nothing works,” was hilarious. In 2021 it’s merely tragic. If you haven’t worked in this trade, you wouldn’t believe how much can go wrong. We build cathedrals on quicksand, and have the temerity to be shocked every time the edifice sinks, never to be seen again.

This is a sampling of the crap I’ve dealt with while working as a developer over the last 20+ years.

  • Flaky wifi
  • Flaky VPNs
  • Flaky DNS
  • Not having enough RAM
  • Not having enough disk space
  • Being stuck with a crappy keyboard and not being permitted to replace it even at your own expense
  • Microsoft Windows
  • Outdated dependencies
  • Flaky database servers
  • Flaky version control
  • Flaky other people’s computer cloud services
  • Vague requirements
  • Contradictory requirements
  • Non-existent requirements
  • Requirements subject to change without notice
  • Sanitizing user input
  • Testing
  • Bugs in production because of user behavior nobody—not you, not the other developers, not the QA people, not the business analysts—anticipated
  • Trend-chasing
  • Emotional labor
  • Eyestrain
  • RSI
  • Obesity
  • Bad documentation
  • No documentation
  • Having to write the documentation yourself
  • Knowing that you will outlive your work
  • Bullying from management
  • Wage theft
  • Not getting thoe job—even though you’re qualified—because you’re not a “culture fit”
  • Getting a task with a deadline of next Monday at 9:00AM—at 4:45PM on Friday
  • Having to debug somebody else’s code
  • Having to debug code you wrote a year ago and having to find a better explanation for why it’s such a godawful mess than your boss’ assumption that you drink on the job

Stuff like this is why many developers suffer from burnout. Especially the emotional labor; we deal with a metric shitload of bullshit at work, even at good workplaces, but we’re still expected to be “passionate” about the work.

Many of us get into this work because we like solving puzzles. But instead of getting paid to solve puzzles like this:

Rubiks Cube GIF - Find & Share on GIPHY
What we think software development is like before we get our first real jobs…

We end up dealing with puzzles that more closely resemble this:

Arrow Video GIF - Find & Share on GIPHY
What software development is really like…

For Clare Higgins, solving the Lament Configuration was the most traumatic experience of her life. For the average software developer, it’s Tuesday.

We use regular expressions to parse HTML and end up summoning Cthulhu, and after the first time it just isn’t a big deal because it’s our own damn fault. We should have known what to expect. But we didn’t, and instead of looking for better careers we embrace the suck and quietly seethe with unexpressed rage.

a typical day at the office

Don’t get me wrong. I’m not looking for sympathy. I did this to myself. I chose this for reasons that seemed like good ones when I was 18, broke, and thinking of running away and joining the Navy. Writers and musicians have to make a living somehow if they aren’t good enough to do art for a living, and it wasn’t like I had the looks or the personality to make it as a rent boy in Manhattan.

But if being a janitor paid as much as being a developer, I’d go back to scrubbing toilets in a heartbeat. Either way I’m dealing with other people’s shit.