Jack of All Code
Specialising vs Generalising in Web Development
A reflection on the industry’s shifting attitudes toward specialisation, and why being a generalist might be more relevant than ever.
There was a moment—maybe ten, twelve years ago—when everyone in web development wanted to be a specialist. Everyone wanted to be a ninja or a rockstar. And everyone aspired to work in product. It felt like half the job ads were for frontend engineers building React single-page apps, while the other half were for backend folks elbow-deep in APIs and infrastructure. The full-stack developer became a bit of a punchline. Specialising was seen as serious. Generalising? A compromise. Contemporary architectures of the time—SPAs and APIs—supported this separation of concerns, but more in the context of app building than holistic web development.
I found this puzzling at the time, coming from the dot-com boom where people went to an individual or small team for a website—and we did everything. Design, branding, development, even a bit of copy. That was the norm. So this sudden insistence on strict roles felt less like progress and more like fragmentation for its own sake.
At the time, a lot of this stemmed from the rise of product-driven companies and the increasing complexity of JavaScript. SPAs were trendy, and the dev world split along clean lines. I remember thinking even then: wasn’t this just a way of palming off the bits you didn’t want to do onto someone else?
I’ve always leaned towards generalism—not out of indecision, but because it felt more useful. You’re the connective tissue. You can slot into more teams, steer projects with a clearer understanding of how everything hangs together, and fill gaps without needing to wait for someone else to pick up the slack. If you’re working in a small team or agency, it’s not just useful—it’s essential.
That being said, it’s not about being everything to everyone. It’s about understanding where your T-shape is. Go deep in a few areas, sure—but keep your arms wide enough to understand how design files become code, how servers respond to requests, and how users actually interact with what you build.
Is there still that same pull toward hyper-specialisation? To a degree, yes. Particularly in big product teams or startups flush with VC money, where roles can be rigid and stack-specific. But outside of that bubble, I’d argue the pendulum is swinging back. More people are seeing the value of generalist thinking—especially in agency, freelance and consultancy work, where projects need to move fast and clients aren’t always sure what they need until halfway through.
Plus, with AI and no-code platforms automating away the repetitive parts, the ability to think laterally and pivot between disciplines is becoming a far more valuable skill than simply knowing a framework inside out. I’ve found AI particularly helpful in filling my own gaps—especially with content. I’ve always laboured over writing, but now I can produce high-quality content quickly. I’m not letting AI do the job for me; I’m discerning about what makes good copy. But I use it like stabilisers—to get up to speed, stay balanced, and ride further than I could alone. It also gives me a massive head start when jumping into new technologies. I’ve been around long enough to see that, in many ways, nothing’s really changed—core development concepts haven’t moved on much since the Gang of Four wrote Design Patterns: Elements of Reusable Object-Oriented Software back in 1994. So using AI to quickly show me how a new technology hangs together makes me productive from the outset—almost as if I were already familiar with it.
Being a generalist means being curious. It means caring how it all works, even the bits that aren’t your favourite. And that’s what keeps you employable—and useful—no matter how the industry reinvents itself next.
Hire Me
If you’ve been grappling with where to focus your development skills, ask yourself this: what makes you more adaptable? Deep specialism or broad capability? I’d love to hear your take—are you leaning generalist, specialist, or something in between?
Let's talk.