yumaikas: a software developer

A few neat things I've done:

Thoughts on software development as a hobby

Generally speaking, I like to make small, high leverage tools when I'm programming off the clock.

Often as not, that results in intricate code. The benefit of the tools being small is that rebuilding them is feasible if you find your approach to be untenable. For example, GDForth had four rewrites, and Onion had two.

Often solving the same problem multiple times reveals insights a first pass would obscure. Noah Gibbs talks about this in a lot more length in Mastering Software Technique.

Mastery in programming is a slow, winding road to follow, but there are so many neat things you learn as you go. As GeePawHill has pointed out more than once, doing this long term means finding your geek joy.

Doing this as a hobby is where I started as a programmer, writing in QBASIC. It's likely where I'll end as a coder, as long as I have the faculties for it.

Thoughts on software development as a job

One of the benefits of building intricate and aiming for high leverage in your off time is that you have a higher sense of what is a high leverage tool and what's more fuss than it's work. That being said, the vocation of software development is so much more than just the code you write.

One of the overarching goals I have, as a creative agent in this world, is imparting an intentional experience for the folks that find themselves in front of something I've made for consumption beyond myself.

This shows up in jobs in trying to write code that avoids incidental complexity, providing deep abstractions, and which makes usage patterns obvious.

Some of that is in the prosidy of the code, some in favoring tests that run a system, rather than an isolated unit, some in keeping useful data structures in my back pocket.