Posted On: 2021-07-05
When studying programming academically, I had the tremendously good fortune that my professor(s) spent time exposing us to some of the practical problems of programming in the workplace. One of these problems was that of switching languages.
The introductory programming course taught students to program in Java (it was intended to be an accessible language*), but all the theory courses used languages which had textbooks readily available (mostly C++). Thus I (and many of my peers) went straight from learning basics in one language to suddenly tackling more advanced topics using a completely different language.
Importantly, the professor framed this challenge simply and clearly: when we get a job, it won't be using a language we learned. If we have to change jobs, again, it will likely be a new language. Using an unfamiliar language to solve unfamiliar problems is core being a professional programmer. Switching languages between courses was merely practice for that - one which gave us a (generous) couple of weeks to get the basics before diving into the meat of the course.
When I (much later) stumbled into my first programming job, I was faced with the very problem my professor had described. As a full-stack developer, I'd be tackling problems using multiple different languages - none of which I had any formal training in (and two of which I'd never even heard of before.)
Fortunately, my mentor was sympathetic to my situation (moreso than my professor had led me to expect), and she gave me ample time to study up on the language and become familiar with the tools*. By the time I was tasked with tackling problems that nobody on the team knew how to solve, I'd had a (generous) couple of months to get my bearings and practice solving simple tasks for the team.
Although I largely stayed with that same set of languages for the duration of my work there (becoming rather fluent in C# by the end), the value of being able to switch languages is a lesson that has stayed with me. Wherever life or work takes me, these experiences have given me confidence that I'll be able to pivot, picking up whatever language it takes to get the job done. Furthermore, whenever I have the chance, I try to encourage others at the start of this journey: even if it feels tough the first time, switching between languages is an important skill, and it will become easier with practice.