Photo by Charles Deluvio / Unsplash

Why Language Doesn’t Matter (Much)

Industry Sep 3, 2021

The software development industry is full of assumptions from non-technical people including the idea that if any developer doesn't have experience with a specific language or even a specific framework then they are unable to fill a specific role. With this article I want to explain how this is an over generalized assumption and how to better guage candidates based on the most important factor: Their ability to learn.

Software Development is an ever evolving field of study, when people are first learning how to program and jump to a second language they begin developing a skill outside of software development which is "learning how to learn". There are many similarities between programming languages and there are many differences. What sets many developers apart from others is the ability to use that learning skill they may not even know they have to learn new technology at rapid pace.

Many main stream programming languages can be broken down into a couple common categories:

  • Functional Languages
  • Object Oriented Languages

These two paradigms are very different and require some experience in either to really understand what you're doing as a Software Developer. However once you have experience with one it's fairly simple to jump to another assuming that you are familiar with the language concepts which are quick to pick up on you can simply learn a new syntax and you're good to go.

I usually advise people i'm tutoring that they should learn a low level language so that they can learn the bare metal components that high level languages cover up with in-built utilities that you never have to deal with. A good example of this is manual memory management in low level languages like C and Rust vs not having to deal with memory management in higher level languages like Javascript/ECMAScript. Many software developers have already done this in their career path as colleges tend to teach lower level languages to give students a familiarity with these core concepts that they may not have to worry about later on. This means that the candidate you're looking at is probably familiar enough with a specific language to pick it up and work at an acceptable level within a couple days mastering it within a couple of weeks.

During interviews I like to ask a few questions to guage the candidate's familiarity with software development in general and their commitment to the career, here are some examples you can use when interviewing candidates to get a feel of how they learn and how they will do in this ever changing industry.

  • Do you do any personal projects in your free time?
  • Are you familiar with [Object Oriented/Functional] programming?
  • How many programming languages are you familiar with?
  • When you learned your last programming language, what steps did you take to learn it?
  • How quickly were you able to understand the syntax of the last programming language that you learned?
  • What motivates you to learn new programming languages?

The idea is to get a feel for how they learn, how quickly they learn and their willingness to learn more about their industry. Motivation is a huge factor for distinguishing between successful Software Developers and people that are likely to fall out of the industry relatively quickly. It's also a determining factor for recognizing people who can rapidly pick up new languages and technologies.

Further Discussion

What do you think about using the ability to learn vs languages known as a measurement of candidates qualifications? How do you measure candidates qualifications for a specific role? What do you think about different programming languages and their similarities and differences?



Steven has been writing software and exploring computers since the age of 17 all the way back in 2008!