How do tech companies know which programming languages to hire for? The obvious answer, of course, is the ones your projects are coded in. But recruitment isn’t always that simple. The right person for the job is more than a walking language set: She has other skills, like the ability to work well with others or maybe cybersecurity experience. Your projects could also be written in something other than the latest and greatest programming language all the cool developers are learning today. Just try hiring someone who knows Pascal, for example.
1. Learn what’s out there
In the past, if you wanted to know which languages everyone was coding in, you had to ask. “For the vast majority of hiring managers,” this made recruitment “largely a guessing game,” according toYonas Beshawred, founder and CEO of StackShare. But now, Beshawred says, you can just look online. Both StackShare and TechStacks.io offer free searches of companies’ stack components — meaning you can look up what your competitors work with. StackShare also helps users compare use stats for up to three languages or tools at a time, gathering info from participant profiles and publically viewable GitHub repositories. “By knowing which ones are more popular,” he explains, “you know the relative size of the pool of candidates.”
If that doesn’t work, David Ives, engineering manager for API development company Pusher, recommends going on Reddit or reading StackOverflow’s “annual reports outlining language and framework trends.” You can also check out different languages’ websites, he adds: “The quality of documentation on the official sites also speaks volumes regarding the overall maturity of languages and frameworks.”
2. Seek candidates who code in something similar
Python is the language of choice at recruitment platform Scout Exchange, where Johan Bilien is vice president of engineering. While Python may be popular now, Bilien says it wasn’t when Scout initially started, “especially for our use case — enterprise web applications.” This meant hiring managers had to compromise: “We would sometimes hire people who had not done a lot of Python,” he explains, “but had worked in similar type of applications and similar languages — like someone who had done web applications in Ruby.” This was especially the case for junior roles, where potential mattered more than languages known. As Scout Exchange transitions to Go, a language even fewer candidates know, Bilien reminds himself that “good developers are also typically fast learners.”
3. Hire for a broader skill set
Like any IT professional, coders need multiple skills to be successful. Just as Bilien hires for potential, Austin Saturday, spokesperson for automotive search tool ClickMechanic, says his company seeks candidates who are a cultural fit and “would hire someone outside of [their core] languages if they brought other key skills — such as DevOps.” To Bilien’s point, Saturday does note these applicants would need to be “very experienced in another equivalent language.”
Ask Bilien if it takes longer for non-core language hires to ramp up, and he says yes — but adds other qualities like “attention to details, the ability to reason about complex systems, [and] the propensity to get the right design on the first try” are far more important.
4. Look for languages with tight-knit communities
Small use stats don’t always mean a language will be hard to hire for. Take Go, for example, which StackShare reports only around 3,000 companies use — that’s 80 percent less than the site shows for Python. But Bilien says Go’s small numbers have actually made recruitment for the language successful: The Go community is very tight-knit, creating its own job boards, hosting a developer conference, and connecting through other channels.
A hiring search for more ubiquitous languages, like HTML, can almost be too wide, with thousands of possible applicants for every job. But when these niche communities bring skilled engineers together, the right candidate becomes easier to find and positions easier to fill. Plus, Bilien adds, “The people who have taken an interest in this new language often have learned it on the side. This typically shows signs that the person is eager to learn new things and improve” — which goes back to the importance of hiring for multiple skills.
5. In the end, let need — not trends — guide you
While it can be frustrating to see a job stay open — especially if you’re the one doing the extra work — Ives reminds us not to get caught up in the fervor of hiring for what’s cool: “I would be far less concerned with what my competitors are using,” he says.
Whereas Beshawred contends “language selection is no longer purely a technical decision,” Ives disagrees, reminding developers that regardless of how difficult hiring for certain programming languages can be, “the main consideration is what are you actually building and what stage are you at.” Product needs change and, as with Scout Exchange, Ives says the language you decide to code projects in may change too, especially “if you are a very early stage startup.”
So don’t rush to advertise certain language roles just because StackShare says they’re commonly used. “For a more developed product,” Ives explains, “the new hotness may well make you appear to be cutting-edge to engineers that are always looking for something new, but your main concern should be longevity and stability of the product. If you double down on shinyLang 1.0TM and it drops off a cliff after six months, where does that leave you?”