What is a Polyglot Programmer — And Why You Should Become One

Paul Azorin
5 min readAug 5, 2020

--

Whenever a person takes an interest in programming, they set out to choose where to start in a landscape that’s vast and widely dynamic. Usually, their journey begins with choosing one of the many, many programming languages out there. Then, they learn everything they can about that language and, hopefully, continue their journey coding software using what they’ve learned.

That’s what the path of most developers looks like: they learn the ins and outs of a particular language, extend their reach through frameworks, and they start to gain experience out in the fields. That’s a great way to get into the programming world but, if you stop there, you aren’t doing yourself any favor.

Though you might think it’s best to stick with a particular programming language and become an expert in it (like many software engineers before you), limiting your toolkit to just one language can be, well, limiting your skills and your career. There are plenty of benefits to going the extra mile and learning additional languages. In other words, it’s highly advantageous to become a ‘polyglot programmer.’

What Is Polyglot Programming?

It’s highly likely that you’re already familiar with the term ‘polyglot,’ a word that comes from the Greek for ‘many tongues’ and refers to someone capable of speaking or using multiple languages. That’s precisely what ‘polyglot programming’ means — developing software using different programming languages, leveraging their strengths while keeping their weaknesses at bay.

So, a polyglot programmer can make the most out of a set of programming languages by using different ones because they can extend their efficiency and gain access to further functionalities not available in a single language.

Why Should You Aspire To Become A Polyglot Programmer?

You could hint at an answer in the definition above: combining the strengths of different languages can make up for their weaknesses. Thus, software projects can be more robust and efficient than if you tackled all of them with the same language and approach. However, other things balance the scales in favor of becoming a polyglot programmer, including:

  • Higher Adaptability. With the number of languages, frameworks, and tools changing rapidly and dynamically, it’s easy to get stuck with a language that may quickly go out of style. Sure, Python, Java, or Javascript developers (to name just a few of the most enduring languages) might think that such a thing will never happen to them, but you can never be sure.

So, learning different languages and staying on top of new development trends ensures that you can quickly adapt to shifting tides of the development world wherever they may take you.

  • More creativity. When you keep a single language in your programming toolkit, you approach the projects in the same way: through the logic you’ve already learned from that particular language. In fact, it’s highly likely that you start getting more rigid as time goes by, mainly because that logic gets ingrained into your problem-solving mechanisms.

When you jump over the single programming language fence, you access alternative ways to approach the same problem, which forces you to contemplate different solutions and elevates your creativity. When you learn different languages after your first one, you’ll start to notice the similarities and differences, and you’ll end up with a deeper overall understanding of programming.

  • Better career opportunities. Some people think that sticking to a single language mentality could be detrimental to your career in the long run. The reasoning behind that is that companies and development teams will eventually look for professionals that can quickly adapt to the different requirements of the most diverse projects — something that you can’t do with just one language.

It all circles back to the previous points in this list — companies will increasingly look for more flexible and creative candidates. As already mentioned above, you can only get there by learning more than just one language while also staying up to date with the newest development trends.

In short, becoming a polyglot programmer is all about staying relevant in the highly competitive and dynamic world of software development.

The Challenges of Polyglot Programming

Naturally, learning different programming languages is as demanding a task as you surely imagine. Each language has its structure, logic, semantics, and building blocks to create software. Thus, something you already know and master in your first language might appear somewhat alien in another language.

So, the biggest challenge in becoming a polyglot is that you’ll have to learn the new language for what it is — a language you’ve never mastered before. As exigent as this may sound, there’s a mitigating factor in the learning process of a second (and third, and fourth) language: you already know programming concepts, so you aren’t starting from scratch. Thus, learning becomes more about seeing how to handle the new tools you’re given by the new language to do what you already know how to do.

That isn’t the only challenge, though. There’s also the daunting task of finding which language to learn after mastering your first one. There are so many out there that it might be hard to settle for one. What’s more — languages are continually changing and evolving, so you’ll have to keep your eye out for changes in all the languages you learn, which may take a lot of time (and, often, won’t yield perfect results, as something will inevitably fall through the cracks).

And then, once you’ve learned the new language, you’ll have to learn to live with that knowledge. That doesn’t feel like a problem until you’re dealing with a project that might benefit from different aspects of all the languages you know. Then, you’ll have to battle your indecision: which is the best option for that particular project? What should you do when you can’t see a clear superiority of one over the other?

Without dismissing these concerns, they are surely minor things compared to the benefits you can get out of becoming a polyglot developer. Naturally, we won’t go to the extremes of Alan Kay, the designer of Windows GUI, who says that “it might be a better idea to learn two or three programming languages at the same time, even though that is a different kind of struggle, but it would at least relativize what people think computing might be.”

Rather, it’s better to know what polyglot programming means and design a career path that includes it, and that lets you learn new programming languages at your own pace. That may vary depending on your abilities and programming experience, but, no matter the point in the spectrum you are right now, you should consider it today before the development market forces you in that direction.

--

--

Paul Azorin

Paul Azorín is the Founder at BairesDev. He is an advocate of constant innovation that spearheads the core business strategy and the brand experience.