When someone asks what I do in my day job, I have a brief, 3-word answer: “I make software.” I used to say that I was an “application developer” but that seemed unduly pretentious. I’ve never called myself a “software engineer” because I don’t have an engineering degree. I make software. I’ve been at my day job (yes, at the same company) for coming up on 21 years. For a lot of that time, I’ve been making software.
But what does that mean exactly? If you don’t make software it might not be obvious. Certainly you use software (you are using it to read this post). But what does it mean to make software? What goes into it?
There is an amazing post on Bloomberg today by Paul Ford called “What Is Code?” It is long. I mean, really long. About 38,000 words long. Which is the length of two novellas, or an (admittedly) short novel. But it is well written, engaging, interactive, funny, and best of all it answers the question “what does it mean to make software”? If you read the article, and come through on the other side, you’ll have a very good understand of what I do every day when I am making software.