Software engineering is much more about problem solving than writing down code, which is why we see the same concepts present in so many technologies. On the flipside, this also means a software engineer’s skills are largely transferable from technology to technology, especially when it comes to programming languages.
In her article The programming language doesn’t really matter, Ty Terdan breaks down why interviewers need to be flexible with the programming language a candidate uses. The article details how interviewers can be more accommodating:
Invest time in familiarizing yourself with the basic syntax of common programming languages.
Don’t get hung up on programming language details. Problem solving is more important.
This aligns with a theme I’ve brought up in my writing: allow candidates to show their strengths, instead of looking for their weaknesses. Allowing candidates to work with the technologies they are comfortable with may be slightly more work for the interviewer, but doing so expands the pool of qualified candidates your company can hire from.
Definitely read Ty’s article, as it also talks about what candidates can do when their interviewers aren’t as accommodating.
Is the programming language ever important?
Every rule has its exceptions, so I asked Ty: is it ever important to focus on or require a particular programming language in an interview?
I’m sure there absolutely are cases where you want to make sure a candidate is familiar with a language. But in 95+% of cases, it’s way more important to know the concepts that are used within a language. If you are hiring for game development, make sure your candidate is familiar with graphics libraries in general, even if they haven’t worked with any specific library. If you are hiring for embedded systems, you need candidates familiar with low level programming concepts. Often, you will indirectly get the language you want through the concepts needed.
Again, Ty’s response aligns with my experience. The one time I’ve seen a specific technology being important was when a past team hired a Node.js expert to optimize our usage of Node.js. On the flip side, once we moved toward other server technologies, this person moved onto a role that actually needed their expertise!
Accommodating different programming languages allows candidates to show their strengths, making it easier to hire highly qualified candidates. In fact, this principle applies to other technologies, especially frameworks. After all, if your employees only know one set of technologies, then how will you ever evolve your tech stack?