Let the candidate choose their programming language
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 flip side, 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?
This article was originally published on the Hiring For Tech website. If you want to read more content from me, please subscribe either by email or on LinkedIn. And please reshare with your networks so others can find out about Hiring For Tech!
Technology Leader
4 年First of all, very nice choice in your cover image.?? And great piece as usual. On the flip side, if you are interviewing for a non-specialized software role and the interviewer insists that you use a specific language, I would see that as a red flag as well.
Strategic Product Manager & Big Idea Philosopher - Helping individuals and teams solve problems and improve the world around them, one step, one task, one goal, one solution at a time.
4 年My first experience with this was as a Product Manager on a prototype product, when I asked the Lead Engineer what language they’d be using, and he said, “I don’t know, and don’t care right now. We will figure that out after we get the functional requirements laid out.” It’s very true that at the high-level strategic design, you can be code agnostic. We as #ProductManagers need to describe WHAT the feature needs to do and WHY, then stand back and let the team figure out HOW to reach the Definition of Done, based on their skill sets and abilities.