What is it That You Do?

The longer that I have this job, the more difficult it is to explain what I do. I say, "I'm a programmer," and you'd think that I write code all day, but that doesn't map onto what my days look like, and the longer it seems the less code I actually end up writing. I think the complexity of this seemingly simple question grows from the fact that building software involves a lot more than writing code, particularly as projects become more complex.…

Keep reading

Experimental Sweater Pattern

I wrote this post nearly 5 years ago, and have been sitting on the draft for a long time: not for any reason, I think it's actually pretty good post. For non-knitters, this is kind of a "ask a great cook for their comfort food recpie," but in a narrative form. In any case, I haven't really been knitting very much recently, and while I enjoy writing knitting patterns there's a lot of work in writing a well formed knitting pattern that I'm poorly positioned for ring now (test knitting!…

Keep reading

The Case for Better Build Systems

A lot of my work, these days, focuses on figuring out how to improve how people develop software in ways that reduces the amount of time developers have to spend doing work outside of development and that improves the quality of their work. This post, has been sitting in my drafts folder for the last year, and does a good job of explaining how I locate my work **and* makes a case for high quality generic build system tooling that I continue to feel is compelling.…

Keep reading

Observation at Scale

I wrote this thing about monitoring in software, and monitoring in web applications (and similar) about a year ago, and I sort of forgot about it, but as I was cleaning up recently I found this, and think that I mostly still agree with the point. Enjoy! It is almost always the case that writing software that does what you want it to do is the easy part and everything else is the hard part.…

Keep reading

Citation Practices in Informal Writing

I've been thinking recently about the way that my interest in writing and publishing blog posts has waned, and while there are a lot of factors that have contributed to this, I think there's a big part of me that questions what the purpose of writing is or should be, and because I mostly write about the things I'm learning or thinking about, my posts end up being off-the-cuff explanations of things I've learned or musings on a theoretical point which aren't particularly well referenced, and while they're fun to write and useful for my own process they're not particularly useful to anyone else.…

Keep reading

Things I Learned About Queues

I think the queue is a really powerful metaphor for organizing and orchestrating the internal architecture of an application. Once you have a queue, and tasks that are running in that queue, making that system run well requires some attention. This post is very much a sequel to the application framework post. Factors of your queue implementation and system may impact the applicability of any of these suggestions for your particular application.…

Keep reading

Non-Trad Software Engineer

It happened gradually, and it wasn't entirely an intentional thing, but at some point I became a software engineer. While a lot of people become software engineers, many of them have formal backgrounds in engineering, or have taken classes or done programs to support this retooling (e.g. bootcamps or programming institutes.) I skipped that part. I wrote scripts from time to time for myself, because there were things I wanted to automate.…

Keep reading