This is a question that software developers have been asking for years. Is it easier to find jobs if you’re a specialist or a generalist?
The truth is that there’s no end of experts arguing for either side. They’re fairly evenly split between the two camps… which doesn’t help developers still undecided about their paths.
So today, we’ll take up the debate ourselves. We’ll take a look at what it’s like finding jobs as a specialist and as a generalist, and where one type of developer may have an edge over the other.
In doing so, we should be able to help you figure out which option is preferable for your own career!
The Case for Specialists
Let’s start by making the case for specialists. We can use an analogy to show why being a specialist has its perks.
Let’s say you’re facing complex bankruptcy proceedings and need a lawyer to handle the legalities of the case as well as represent you in court.
The choice of lawyer is important: hiring a bad lawyer can result in mistakes that may cost you further assets. Sometimes, it may even lead to being charged with fraud!
That means you want as good a lawyer as possible for your bankruptcy case. What do you do?
Do you go looking for a generalist who’s familiar with multiple fields of law, like criminal and tax law on top of bankruptcy law?
Or do you look for a lawyer who specialises in bankruptcy law?
Obviously, you opt for the latter. That’s because his specialisation tells you that he’s a safer bet than someone who only deals with bankruptcy law on occasion.
It’s much the same for companies hiring developers. A fair number of them have a specific role in mind when they post job openings or recruit new talent.
As such, if you happen to specialise in a very in-demand area of development at the moment, that can work very strongly in your favour.
Among other things, it tells employers that they won’t need to invest to train you in that particular field first. That makes you a cost-effective solution for problems in that area!
There are a good number of job openings for specialists nowadays, especially among scale-ups and multinational companies. That’s because many of these have teams whose members tend to be assigned to specific, fixed roles.
The primary downside of being a specialist, of course, is that they tend to do their best when conditions are right for them: when there’s high demand for their particular specialisation.
Unfortunately, given enough time, enough specialists in a field may arise that supply may outstrip demand.
It’s also possible to specialise in something that ends up supplanted by new technologies. When that happens, you’ll have no choice but to work on gaining a new, still-relevant specialisation.
The Case for Generalists
As you can see from the drawbacks we mentioned for specialists, there’s a very strong case for being a generalist developer too.
Generalists are less likely to be rendered superfluous by the phasing-out of one technology, by comparison. They know many other technologies, after all, and thus have more than one skill to offer.
They also tend to be more attractive to companies that like to work with lean development teams. This is especially true of startups and software development agencies.
The lean teams in such organisations typically demand members who are generalists, because they have to do a little bit of everything. They may want someone who can write PHP, craft firmware, use C++, and so on.
This is why most generalists have wide-ranging skill sets. Moreover, most of them are familiar with multiple programming languages.
Ask most generalists (and the people hiring them), though, and they’ll deny outright mastery of those languages. To some extent, they know that it’s because they don’t need it.
The tasks assigned to generalist developers rarely require mastery in an area. They require flexibility instead and the capacity to use multiple tools as needed… which means they should be able to just look up what they need to know about a language when necessary.
Many employers now prefer their team leads to have generalist capabilities. That’s because the generalist vision tends to be good at bringing together often-disparate parts of a project.
But there are still downsides to being a generalist. It makes you ineligible for roles requiring specialised knowledge, for one thing.
Moreover, there’s a bigger onus of continued education on generalists. If you’re a specialist, you really only need to follow news and developments in one particular area of programming; if you’re a generalist, you need to follow several.
So, Should You Be a Specialist or Generalist?
If you want to find the best software developer jobs, you should actually be both. And no, that’s not paradoxical.
The answer is to specialise in something -- preferably an in-demand technology or one that you foresee being in-demand in the long run -- and “dip” into a broad range of other areas at the same time.
You don’t need to master those other fields of development or technology, obviously. However, you should learn enough about them to render yourself reasonably capable of using them whenever needed.
This will turn you into one of the hottest commodities on the market: the “T-shaped employee” who has deep knowledge in a valuable area while offering broad skills in others.
Why “T-shaped”? Because you go deep in one area of expertise (the vertical bar of the T) while having working knowledge of many others (these make up the horizontal bar of the T).
Another way of describing it is to say you’d be a specialist who has generalist skills on top of his specialised ones.
This makes you extra attractive to employers because it tells them two things:
- You have the in-depth knowledge they want (that of your specialisation)
- You can also be called on to do other things when needed
In other words, you’re flexible while also having a field of expertise. You basically offer double the value to them.
How Can You Become a Specialist with Generalist Skills?
How you go about this depends on your situation.
If you don’t have a specialisation yet, pick one. If you have one but don’t think you’re well-rounded enough yet to qualify as a developer with generalist skills, start building up your broad base of skills now.
There are so many areas of specialisation and technologies now that you may not know where to begin for either one of these tasks, though.
Luckily for you, Skilledd can help. Skilledd’s online recruitment platform lets you take technical assessments and build a profile of your skills as a developer.
With the information from your assessments and profile, you’ll be able to better identify gaps in your abilities and potential opportunities for improvement.
What’s more, Skilledd’s career coaches can help you figure out what step to take next -- such as what specialisations to opt for and how to better improve your broad base of skills.
To begin on that right away and improve your career prospects, register on Skilledd today.