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.

Even before joining my current company, 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 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 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.

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.

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.