Developer Generalists

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

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

Even before joining my current company, where I was the first person in the GTM 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 my last company, 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 yet know the full definition of a curious developer of this type, at least not yet.

However, I can now finally say I have a name for a developer that has that skillset, one that includes me personally and leaves room for many, many others. Something that I can both identify with proudly and feels is correct semantically:

Developer Generalist

I'll keep you posted as I understand more about this - if you have thoughts, ideas, opinions, or just want to relate - @TomGranot on Twitter is the address, DMs are open.

P.S. 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.

Subscribe to Tom Granot's Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe