But this attitude towards code -- that it's valueless compared to design and more "theoretical" work -- pervades the field in a way that's more basic than in a software architecture sense.
This attitude affects our perception of our entire field.
We even have a disparaging word for implementers: code monkeys. Because we don't actually value people who write code, we value people who can do design work. Code is actually valued very little.
Now, obviously design work is important. Requirements are king when you're designing a software system. Our current priorities when it comes to software development are relatively correct, at least as far as this thread is concerned.
And, well, yeah, I like being in front of a whiteboard too. For me, it's algorithmic or other theoretical work. It might even include, gasp, math.
For you, it might be software architecture. I know more than a few orchestrators that would love nothing more than to sit and design systems all day and to give their Visio diagrams to other people who actually implement the system.
Occasionally, there will be some cool or cute thing some past programmer put in a codebase that you'll call a friend over to look at.
But these moments are outstripped by those where you pull your friend over to look at something stupid or downright horrifying, and this has skewed our perceptions of what we're doing.
Many people I've spoken to over the years insist that software development and CS is at its best in the design phase, when you're standing in front of a whiteboard.
And, well, of course the theoretical physicists would. They're mathematicians, basically.
If we narrow our scope to CS (I'm specifically excluding frontend design) for a moment, there's this conception that most of the field is ugly, especially day-to-day work, and that the only thing of any aesthetic value you could be doing is theoretical work.
At least, from a STEM perspective. Sure, you could do ballet or make art or be a musician or something, but those are all "obviously" beautiful things.
What is beauty in STEM? I think most people would first point to math, because it's considered more aesthetically pleasing, more perfect, and more difficult to produce than anything else in the hard sciences. Indeed, I very rarely hear anyone else in STEM, sans theoretical physicists, talking about their field like it's beautiful.
As you might be able to tell, math vs theoretical CS vs programming has been on my mind a lot recently.
I have to thank everyone who makes me think about these problems as I explain various ideas to them, because I wouldn't have thought about them otherwise.
I think it's fair to say that most STEM people who have much contact with pure math are of the opinion that it's one of the most beautiful things a person can spend their time doing.
Concurrently, Alonzo Church also solved the decision problem, using a construct equivalent in power to Turing machines called the lambda calculus.
The combined theory is called the Church-Turing thesis.
First up is On Computable Numbers, with an Application to the Entscheidungsproblem, written and directed by the one and only Alan Turing in 1936. If you know of any famous CS paper, it's probably this one.
Here, Turing both invents Turing machines, which are the most powerful model of computation currently available, and uses them to produce a negative answer to the decision problem, which has important implications for logic problems in CS.
programmer, writer | he/him
Jazz.af is a microblogging community for tech creatives. Talk about what you're making, or just hang out. Chill, like jazz.