Commentary: How to treat programming with illogical seriousness
Take your work seriously, not yourself
How to treat programming with illogical seriousness is about how developers hold themselves too highly because society treats them as gods, and they lean into it, and how this doesn’t align with how bad most software is.
Society treats software developers as more important than they are
Technology is not new, but its impact on culture with my generation and the spread of the Internet is new. “Techies” have an outsize influence and are treated like airline pilots were when aviation was new. What they do seems magical and essential. The Internet has reshaped culture, so the people who built it should be respected, but maybe you aren’t one of those people.
Software Developers lean into this reverence
If people tell you you are intelligent and marvelous, it is hard to ignore this. When the people you work for tend to handle you with kid gloves and defer to you, it is hard not to internalize this and take it with you outside work. Being considered the most brilliant person in the room is terrible for you outside work.
After a few successful early projects, there is an early career compensation that some developers make where they start to feel like “business is easy” and that they are somehow above it. This is also dangerous because arrogance shuts down learning.
This doesn’t align with reality
But… most software is terrible. Bad software makes life a little worse, and we continue to recreate the same inadequate systems repeatedly. If tech is similar to the aviation industry in its newness and impact, it is certainly not like it in terms of track record. If it were, then pilots would not have been considered so cool because crashes would have been so frequent that most of them would be dead.
The Difference Matters
If we take ourselves so seriously, then we should be more humble so that the work improves. The classic example of the difference between an industry with a culture of god-like practitioners is aviation vs. healthcare. In aviation, the industry sees any failure as an opportunity to learn. In healthcare, mistakes are typically dismissed, ignored, or only investigated locally. In Black Box Thinking, this idea is explored in great detail, but one industry has decreasing rates of customer death, and the other is moving, um, another direction:
Developers should treat the work seriously but not take themselves so seriously. Our industry is still young; we are not yet in our final form.