Is working as a software developer really worth the trouble?

Hi,

Writing software for a living can often be tedious and frustrating. Consider Docker: it’s pretty useful, but as I discovered in researching my Docker packaging guide, using it involves dealing with decades of design mistakes, some dating back to the early days of Unix in the 1970s.

So how do you get through the tedium and frustration? I found one hint in a book I’ve been reading, The Letters of Dorothy Sayers (1899-1936). If you’re not familiar with her work, she is the author of a number of entertaining detective novels—and one masterpiece that transcends the genre, the novel Gaudy Night.

In a letter to a friend in 1930, she writes:

I am getting a bit weary of Lord Peter [the detective in many of her novels], but I suppose he must be kept going, as he still seems to pay pretty well. … There are times that I wish him the victim of one of his own plots!

The first part of the answer to our question is that, as with Sayers’ novels, it “pay[s] pretty well.” In Sayers’ case, she had worked as a copywriter for an ad agency, a job she disliked—until the success of her novels allowed her to become a full-time novelist.

But there’s a second part to the answer, a part that touches on the similarities between writing novels and software. Both are intangible—a lot of mental work, and the resulting physical representation isn’t much to look at, an expanse of seemingly lifeless text. But once they’re done, both software and novels can be duplicated at almost no cost.

Sayers was getting paid because so many people were buying her books—and decades after her death, you and I can still read and enjoy them. Her hours of tedium and frustration have brought joy to thousands of people. In fact, in 1930 Sayers hadn’t even written her masterpiece Gaudy Night—so I am certainly thankful that she kept on working despite her occasional weariness.

With software we too have the opportunity to help untold numbers of people—by building a tool to make a job easier, a game to entertain, a medical diagnostic to save someone’s life. And a tool or game or diagnostic that can be easily and cheaply used by many people: write once, run many.

Of course, we also have the opportunity to hurt many people; the leverage goes both ways. In another letter, Dorothy Sayers describes parts of the theme of Gaudy Night:

To make a deliberate falsification for personal gain is the last, worst depth to which either scholar or artist can descend in work or life…

Consider the software engineers who helped Volkswagen cheat on its diesel engine emissions test. The estimates of the resulting damage are ~60 premature deaths, and if the cars hadn’t been recalled an additional 140 deaths at least. Not to mention much more extensive but less lethal health issues like increased asthma attacks.

Of course, lying on an emissions test is an extreme outlier. It’s much more common to lie to oneself about the damage caused by one’s work.

So why write software for a living? Both because it pays, and because we can help people—and when we are forced choose between the two, it must be in favor of the latter.

Until next time,

—Itamar

PS. This review of Gaudy Night is a good explanation of why it’s worth reading.


Want more like this?

Every week I write an email explaining one of my mistakes or life lessons—as a programmer, as an employee, sometimes just as a person—and what you can learn from it. I’ve been writing software for more than 20 years, so there’s plenty of past mistakes, and of course I keep making new ones.

This is my 128th Software Clown email, but if you subscribe you’ll start from the very beginning so you can learn from all my mistakes, not just recent ones.

Want to avoid more of my mistakes? Sign up today!