2025-10-15

08:52:35, atom feed.

I heard a quote yesterday--I think it was from Chris Bumstead--along the lines of

What used to drive me now exhausts me.

I think it very succinctly captures my feelings about software development at this stage of my life.

I used to study programming for programming's sake. All you had to say was, "did you know?" and you had my attention for an entire weekend, studying more sophisitcated ways to do the same old thing, diving into arcana, reciting the new mantras. Because I liked puzzles. Because I wanted to be in the group that knew. "Did you know" is not a question anyone asks to actually learn anything. It's a lead-in to a flex. Virtue signaling. A waste of time. Studying the esoterica of physics has an end and ultimately leads to simple solutions for everyone. I find that studying the esoterica of most modern software leaves one prone to normalize and even perpetuate it.

Now the arcana exhausts me. It's mostly mental gyration, or even worse, just puzzles we have created for ourselves that get in the way of making meaningful progress for the species.

Use as few tricks as possible.
Write as little code as possible.
Add as few abstractions as possible.

Software engineering is a means to an end.

We've normalized "best practice" as a header file, an implementation file, object-oriented whatever, 5 different kinds of constructors, meta-programmed interfaces that help account for non-ref, ref, const ref, universal (lol) ref, etc. Newcomers to the field look at the awful tools and think, mastery of this is what it means to be great. The tools are so complicated that tool use itself was reified into meaningful work when no one was looking. This is why competent leadership in a company is so important--you need leaders who can discriminate between someone who knows everything about hammers and someone who knows which to reach for to build something.

If you want to transform your ego into code, that's fine, but keep both off of the critical path of something we're all supposed to use in the end. Physics doesn't care about your ego, so I'd like to keep ego out of software engineering for the species as well.

Did you know you can do pretty much everything with structs, function overloading, and operator overloading?