- OpsFlow Newsletter
- Posts
- Tech-agnostic engineering hiring
Tech-agnostic engineering hiring
Does it lead to better engineering talent?
Most companies hiring engineers require candidates to have experience with their technology stack.
E.g., “5+ years of commercial experience with .NET.”
But sometimes you come across a company with a technology-agnostic hiring process.
They don’t require engineers to have worked with their exact stack. Instead, they look for experience across broader categories like:
Modern programming languages: Java, C#, Go
Cloud platforms: AWS, Azure, GCP
Frontend frameworks: React, Angular, Vue
Theoretically, they could hire an engineer who hasn’t worked with their specific stack.
But likely still prefer candidates with relevant stack experience.
Who ends up hiring better engineering talent for their positions?
I can’t say for sure without seeing inside these companies.
But I think technology-agnostic hiring reflects an important insight:
Much of what makes someone a great engineer is technology-agnostic.
Yes, engineers spend a lot of time writing code.
But code is the final expression of all the work that goes into building software.
Besides coding, engineers also:
Understand and refine business requirements
Develop knowledge of the business domain
Read existing code
Learn APIs and libraries
Collaborate with teammates
Design software solutions
Test and debug software
Even writing code is transferable. Engineers who write clean, maintainable code in one language tend to do so in others.
Besides the fact that many engineering skills are technology agnostic, it also matters that:
It takes far longer to learn to write clean code than to learn a new stack.
A junior engineer can usually grasp a new language or framework in weeks.
But developing judgment about design, testing, maintainability, and architecture typically takes years.
When hiring, it makes sense to place more emphasis on skills that take longer to develop.
And skilled engineers become productive in new technology in a matter of weeks.
Does it mean that all job requirements should be technology agnostic?
Not at all.
If you’re hiring for a 3-month contract, it doesn’t make sense for someone to spend a month ramping up.
Or an engineer has left your team, and you need to pick up development as soon as possible.
In those cases, prior experience with the stack is a must-have.
But it’s worth reconsidering how much weight we give to specific stack experience versus engineering skills.
Because at the end of the day, who would you rather have on your team?
An engineer who knows your stack but is slow and writes shitty code.
Or an engineer who writes maintainable code fast, but hasn’t worked with your stack.