From one developer to another: Don’t be afraid of another programming language.

Koen Baens
Koen BaensJr. Software Engineer

Koen Baens is one of our software engineers at Bannerconnect. He is one of the geniuses that creates the software that not only our clients use, but Bannerconnect as well. Born and raised in Belgium and with a passion for music (he plays the cornet in the Noord-Limburgse brassband), Koen is here to give advice from one developer to the other on switching programming languages.

The fear of most developers: changing programming languages

Almost every developer knows the drill when setting up a project from scratch. You look for newer and better technologies, frameworks and setups then used before to make sure the new project will be future proof. While we feel comfortable changing frameworks, tools and setups most of us are not keen to switch to a totally different programming language.

The fact that developers seldom choose to change programming languages has multiple reasons. Some of them are related to the company they are working for and the resources that have been given to them. But there are also a couple of personal elements that hold developers back from using a new programming language. One of the main fears is that most developers think that learning a new programming language takes a lot of time and effort. Next to that, developers tend to get the feeling that once they switch programming languages all the knowledge they gathered within a specific programming language will become obsolete. Also, changing languages pulls most people out of their comfort zone, which can result in insecurity.

Changing programming languages is not hard when you have solid programming skills

In my own experience, I found out that changing to another programming language (when done in the right way) is not harder then changing frameworks or designs. Within Bannerconnect, we’ve always developed in C# and ASP.net in different set ups like Webforms or MVC. At one point in time, we started a collaboration with another team situated in New York on an existing project. Since we jumped into the project in a later stage we had no influence on the technologies used by the application. This meant we needed to work with what was already in place, which in this case was Python as backend and Angular for UI purposes. Most of us already worked with JavaScript before, so working with Angular was more about learning how to use this specific framework. However, for the backend team working with Python was a first for the whole team.

To get a clear view of the project we started with what we knew, the front-end. We completed some tasks related to the UI of the project and got a nice overview of how to use the Angular setup. The next step was getting to know Python. This started off with a simple workshop we got from the team in New York to get a grasp of the basics. Afterward, we got some time to play around with the programming language in a specific test environment. Soon we felt comfortable programming small elements with Python and could start creating actual software for the project. Looking back at the developer’s fear of learning a new programming language, we found out that, if you have a solid programming skillset, learning the actual programming language was the easiest part. The actual challenge was getting to know the project and solving problems in a solid and clean way. An open mind, teamwork and a helpful specialist from the other team were also key elements for the early successes we achieved in Python.

Embrace changing programming languages

Based on this experience, my advice is to see programming languages as a tool, because programming skills can be transferred from one programming language to another. It’s doing the same tricks but then written down differently. Don’t feel like an incompetent programmer when you ask a lot of questions or need to look up syntactical elements. This is all part of learning a new language.

Don’t get me wrong, I’m not stating that becoming a specialist in a specific programming language is a bad thing. I would even say that this is necessary for every developer’s career to develop good programming skills. This will prevent you from becoming a jack of all trades, master of none. However, make sure that you are flexible enough to carry over your programming knowledge and skills to another programming language when needed.

I’m also convinced that developers looking for a new job and recruiters looking for specialists should pay less attention to known programming languages and focus more on the overall skillset. Don’t be a specialist in a specific programming language, but be a specialist in programming skills and techniques and you will be a future proof and agile developer.

Related content

How to become a master
Never stop learning
AppNexus training superhero