Learning a New Programming Language: Take the Plunge!
Tags: learningtocode, hackbrightacademy, python, developer
Published: 2020-11-05 18:39:11

---
title: Learning a New Programming Language: Take the Plunge!
published: true
date: 2020-08-10 04:19:22 UTC
tags: learningtocode,hackbrightacademy,python,developer
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/1*W_AZns5_6ODNxwdO6dqrcA.jpeg)<figcaption>Photo by <a href="https://www.pexels.com/@palumalerba?utm_content=attributionCopyText&amp;utm_medium=referral&amp;utm_source=pexels">Palu Malerba</a> from <a href="https://www.pexels.com/photo/photo-of-a-woman-diving-into-body-of-water-2516403/?utm_content=attributionCopyText&amp;utm_medium=referral&amp;utm_source=pexels">Pexels</a></figcaption>

The first language you learn will naturally influence your coding journey, but your continued success may be limited if you are resistant to learning another language early in your career. As a beginner, picking up a second language may sound about as appetizing as taking the plunge into cold water, but you will ultimately be rewarded with a more solid understanding of CS fundamentals, command of a fuller stack, and better job prospects.

I began my coding journey by dipping a toe into JavaScript several years before transitioning fully into software engineering. Early on, I supplemented my learning by taking a Java course at a local college. Despite some frustration related to learning the quirks and new syntax when picking up another language, the overlap and contrast between the two languages provided a helpful perspective that highlighted the importance of many crucial computer science fundamentals.

The next part of my journey brought me to [Hackbright Academy](https://hackbrightacademy.com/), where I was challenged to learn a third language, Python. I’ll admit I was nervous about signing up to learn a new language in an already accelerated program, but the learning curve was definitely gentler with each subsequent language and learning Python amplified my experience at Hackbright.

### Adding to Your Toolbox

Another benefit of learning a new language is that some languages are better suited for solving certain types of problems. Armed with several languages in your arsenal, you will have more tools at the ready when attempting difficult problems. This is especially true when learning a structurally different language. If you started with JavaScript or Python, it might be helpful to pick a lower-level language to learn next, such as C. If your emphasis has mostly been front-end, you may benefit from learning some Java, and in turn, may find that it supports an understanding of other strongly typed languages (which could make learning TypeScript easier).

The paths are varied, but learning any new language will both reinforce your current understanding of CS fundamentals and pave the path to exploring additional languages in the future. Being a lifelong learner is one common characteristic shared by all successful software engineers.

### Overcoming a Fear of Syntax

You probably recall that tackling your first language involved multiple levels of learning: mastering the syntax of the language, getting comfortable with algorithmic thinking, and adopting a frame of mind that is conducive to programming. The sweetness experienced when all these aspects converge to allow you to enter a _programming flow_ for the first time is a memorable feeling for every developer.

When learning your second language, many of these aspects are already established and this existing foundation allows you to narrow your focus on getting comfortable with the new syntax elements. This may be surprisingly easy the second time around: using curly braces instead of colons? No problem, your underlying understanding of the semantics is already there! You’ll certainly forget a semicolon or two when first coding in JavaScript, but learning the syntax will be a gentle slope instead of the cliff you scaled learning the full gamut of programming grammar the first time around. 🧗🏻‍♀️

### Embracing Full-Stack Engineering

Accepting the challenge to learn a second or third language will inevitably make you a more confident and versatile developer, and with more than 500 programming languages out there, there’s a lot to choose from. Most companies now include multiple languages in their stacks, and it’s normal for these companies to require their engineers to be multi-lingual (with a few exceptions).

Take a look at the trends in the top 10 languages over the last five years as reported by GitHub.

![](https://cdn-images-1.medium.com/max/624/1*DUP5I9Xjm8-kHuuatR_ESw.png)<figcaption><a href="https://octoverse.github.com/#top-languages">https://octoverse.github.com/#top-languages</a></figcaption>

A multi-lingual applicant will have access to a larger swath of job opportunities and will be able to demand a higher salary than job applicants that are less versatile. This is especially true for applicants looking to land a junior SWE position where the competition is tough and the ability to master multiple languages will evidence your capacity to learn and your ability to grow as a developer.

Don’t let the fear of the unknown stop you from learning a new language early in your career. The benefits of taking this step will compound, providing both obvious and some less obvious advantages along the way.

* * *