Hiring Developers: Language-Specific vs Agnostic
What is a language-agnostic developer?
While being a “jack of all trades, master of none” is sometimes looked down upon, I argue that within software engineering, it’s a good trait to have.
You have or may not have heard of them before, but they go by many different names from language-agnostic, “T-shaped” or “Polyglot” but generally speaking, they refer to software engineers who don’t limit themselves to any one language or speciality.
While they may have an in-depth knowledge of a given language or technology, they have a wide breadth of knowledge and are comfortable doing a wide range of development tasks.
They are becoming increasingly in demand, but you may ask why is this?
If an organisation has an application in a given language (whether it be .net/java/php/react etc) shouldn’t they hire developers who specialise in that .net/java/php/react? The answer that most of the organisations I work with and I tend to go with is as well is “not always”.
Why hire language-agnostic developers?
With organisations tackling increasingly complex problems, the most effective software engineers will need to stay agile in the way they design solutions.
With increasingly complex problems, software solutions - in turn - become more as well, often being built within a larger ecosystem of technologies and good developers/software engineers need to be able to understand and work effectively within these environments.
A back-end developer or engineer should understand how their work interacts with a front-end developer's as well how it will impact the designers and the end-users.
Underpinning being agnostic is a requirement of being able to step back far enough to gain a full understanding of all the requirements, (including the wider environment) and acknowledging some technologies will be better suited than other technologies to developing a solution. A true agnostic will have enough of an understanding of multiple technologies to know this and (ideally) deliver the solution.
But by hiring language-agnostic engineers, you often hire engineers that come with other valuable or desired traits such as a desire for continual learning, tenacity, nimbleness and strong work ethic. To be truly language agnostic, you need to be agile (and smart enough) to pick up new languages and skills and deliver new solutions to unexpected problems. With their continual learning, they (should) be across the trends within the technology space and be able to help future proof solutions. Languages and libraries, like most technologies, are transient and within a few years, there are likely to be new languages and libraries and to reiterate, hiring developers who are polyglots or language agnostic, you can be sure to have people in your team who are up to date!
Being language agnostic and hiring language-agnostic developers give organisations and developers the freedom to develop applications in the best way possible, ways that aren’t limited to the restrictions of any given language. It gives rise to nimble thinking and you tend to get better at finding better solutions faster. As you can think about your problem (and potential solutions) in several different frameworks, the chances are you can compare solutions and find the cleaner and more effective.
The underlying value with agnostic developers is the fact that they should be able to make an effective judgement of problems to come up with efficient solutions. They should be able to take into account real-world constraints, be able to discuss trade-offs and come up with the “best solutions” for the problem without being limited to one technology.
If you’re looking to hire a developer and could use some help, contact us to speak to one of our specialised technology recruitment consultants.
And once you get them in the door for the interview, how do you effectively test them? There’s a few hiring tips you might want to read up on before starting the recruitment process.