Programming is mostly research. Researching curses to cast on the guy who wrote the Incomprehensible mess you’re currently debugging.
… until you finally track down who wrote this mess, and it was you 5 years ago.
I am keenly aware that most management still subscribes to the idea that motion is work. They are fairly convinced that a lack of motion is a lack of work. That makes sense in a lawn care service, a factory assembly line, or a warehouse operation.
This is so true. Oddly enough, if you’re motionless but looking through a microscope, those same exact managers will think you’re killing it.
brings a microscope to work and starts using it
Manager: What the heck are you doing?
Eagle: Trying to solve that deserialization bug in the code base, boss.
Manager: spends raise budget on getting high end microscopes for everyone to improve debug productivity
Programming is just inventing machines where the components are words. Of course it’s just thinking. What else could it have ever been?
This article was motivating for me by highlighting how much research, learning and cogitation are more important than typing programs.
Tbh I think alot of the “thinking” still looks like visible work though. I feel like the article makes it seem a little too much like there’s nothing observable, nothing to show or demonstrate, until POOF the code comes out.
But I find that I often need to be doing visible stuff to make progress… Like devising little experiments and running them to check my assumptions about the system (or discover something new about it), and making little incremental changes, running them, using the output to guide the next thing I do… Even occasionally spending the time to write a failing test that I plan to make pass.
So I’m 100% on board with letting managers believe this “80% of the work is invisible” thing… But I think as advice for programmers, it’s really important to not get too stuck in your head and spend too much time not kinetically interacting with the system that you’re trying to change.
You’re right, and other intellectual “design” jobs will have physical or visible manifestations of the design process. In video you have a storyboard, set design. In music you have notation, lyrics, demo recordings, and so on.