After doing more managing than normal and getting back to coding, I realize just how much I like to code, and why ...
Code either works or it doesn't. There's no room for subjectivity between it and me. And if it doesn't work, you can fix it. It doesn't have to be cajoled, mentored, advised, or given feedback. You don't need to worry about the code's motivation. You don't need to worry about what the code thinks about you -- you can test it as much or as little as you want. It just does its job -- gets compiled, interpreted and executed. The code doesn't care if your dependencies are in place or not -- it just is
. The code doesn't worry about reorgs or profit and loss (P&L) statements or whether it's executed in your own datacenter, AWS, your desktop, or your laptop. It doesn't care if you have documentation or not, code coverage or not, customers or not.
But as much as that's awesome, we live in a world that is so much more, a world where perception matters, where we work in teams with people who are people. People are different, fallible, have ups and downs, have other stuff going on and often have different priorities and different motivations. To people, reorgs and P&L matter. Ultimately, we need to build a product that people love (or at least like).
Code is awesome, but as coders we can't just live in that world. Most of the "real" problems in software are people problems, the coding problems are easy in comparison.
P.S. After re-reading this I should give some props to 1 Corinthians
, but replace "love" with "code". :-)