Generalist or Specialist: where to focus? — An engineers perspective

William de Torvy-Ballou
3 min readSep 1, 2018

As an engineer, I sometimes I catch myself thinking of my skills in binary terms within a workplace, with the question often being — “am I adding breadth or depth to my existing skills right now?”.

Do you mind if I walk you through my thought process? Keep reading. By the way, just to set expectation, this is not an exhaustive comparison by any stretch of the imagination. This write up aims to shed light on a few differences I’ve observed between corporate and agency life for an engineer and the technical skill set they typically develop in both environments.

I’ve spent a lot of my relatively short working life working for clients in various forms but only recently did I join an agency — and the culture and mindset were very different.

Before joining an agency, I had spent a few years at a consulting company where I worked on site for a FinTech startup client of ours. They were a carve out of a mature corporation.

Having seen both sides of the spectrum, allow me to list a few observations I’ve made about both:

Agencies produce generalists

Many different looking briefs come through the door and adaptability is key. It’s very difficult to build incredible depth and also quickly adapt to the breadth of client requests. There are quirks to this and the amount of time building out or testing the solution will impact that.

Knowing what tech stack is best for a client is an individual assessment. This means that a scan and review of best suited technologies for different clients is a frequent thing for Tech Leads and their teams. Once that’s narrowed down a technical spike is necessary to see if the solution is truly feasible before spending any more time on it.

Let’s note pros and cons for this:

Pros

Quick prototypes, MVPs and features (useful for CTOs in startups)

Cons

Less experience seeing how the solution scales over time in production (not so useful in a mature corporation)

“man using black laptop computer” by NESA by Makers on Unsplash

Corporations produce specialists

In corporations, the depth of knowledge of a solution can really reach guru levels almost to the point of no use else where if the stack isn’t very similar. But generally, where the skills are transferable, the developer will add instant value once they touch your code base. These developers get to do more in the way of performance tweaking and algorithmic complexity improvements that could do wonders in the realm of UX which can effect the bottom line.

Let’s look at some pros and cons:

Pros

Deep understanding of the business end of your sector (useful for CTO in a particular sector)

Cons

Lack variety (not so useful across sectors); As there’s more depth, another engineer may be necessary to focus on the more high level area which effectively doubles costs.

What’s best for you? Generalist vs Specialist (I do not own the picture 👀)

These are a few of the things that struck me the most. I’m sure I’ve omitted loads so feel free to add more down below.

Also, what do you prefer and why?

--

--

William de Torvy-Ballou

DTB Carbyne, Investing, Entrepreneur🚢, Start-up Pipeline, 🌍