Tom Granot

Developer Generalists

This was posted some years ago on a different blog. I can't backdate things in bearblog, it seems, so I gave it a few edits so it makes more sense, but mostly left it as is.


It took me a long time to define what it is exactly that I do for a living.

Even before joining Lightrun, where I was the first person in the Go-To-Market department and thus required to "do all the things" (at least initially), I was always somewhat of a generalist.

When I was an SRE at the job before that, for example, I brokered the purchase of their .com domain after noticing it was not being actively used by the current holder. This was "business" work - perhaps marketing, perhaps operations - and not related to my development work.

When I was a hedge fund analyst I installed, configured, and maintained the hardware and software for an on-prem analytics system. This was "IT" work - mostly networking, some scripting trickery & a lot of working with their terrible GUI builder - which was not related to my work as an analyst in the finance industry.

When I volunteered for a non-profit coding bootcamp, I wrote a qualification system from scratch that ended up processing thousands of applicants over the years. This was development work - and not related to the reason I joined the bootcamp, which was to help with the operations of the organization in a very specific way (i.e. run test days, grade tests, etc..).

To me, the main reason behind my desire (and ability) to do all of these things is that I am a curious developer. I've spent many years playing around with servers, various programming languages, CI/CD tools, networking, databases, and the like - which gave me a relatively wide, albeit not always deep, understanding of many areas.

More specifically, the whole endeavor gave me an appreciation for automation, a love for good tooling, and a taste for designing processes.

At times, I felt as if I was disorganized - all over the place, touching everything and doing nothing. But, as it turns out, something in all of those days of playing around worked. It made me a better all-around professional, even in the places where I was not hired to do "proper" IT work.

I think that we will see more and more value for this type of skill set in various, supposedly "non-developer" areas - especially as more and more organizations are becoming centered around some sort of software-based system.

As Zed Shaw wrote in the afterword for "Learn Python the Hard Way" (which is worth a read, by the way):

You're much better off using code as your secret weapon in another profession.

Indeed I am.


I'm keeping this piece short on purpose because I don't know the full definition of a curious developer of this type. At least not yet.

However - and this is edit no. 7 of this article, to those of you keeping score - I can now finally say I have a name. It's something that I can both identify with proudly and feel is correct semantically: Developer Generalist.

Note the difference between a developer generalist and a generalist developer. The former is a developer who uses their skills in a larger context, while the latter is a person skilled in many areas of development.


P.S. This was written before I understood enough about AI or knew where it was going.