TypeOfNaN

Programming Languages and Frameworks to Learn in 2021

Nick Scialli
December 26, 2020

I’m generally not one for lists like these, but I think a lot about where the programming (and specifically web dev) industry is headed and how best to position oneself for future employment.

A lot of these lists are based on hype, but I like to think of learning new tech skills from a couple very important perspectives:

  1. What are my job prospects right now?
  2. In what direction is the technology trending?

Therefore, I am combining job post quantities from Indeed with language popularity index from PYPL. Generally speaking, I will be advocating for learning a language if there are a lot of opportunities out there for that language, but I’ll be docking points if a language is trending down in popularity.

To scope the analysis, I am doing these job searches based on job postings in the United States. Apologies to anyone outside the U.S.—but this analysis should be straightforward enough to do in your home country as well!

Programming Languages to Learn in 2021

One thing to note for this list is that I generally have a web/app development focus, meaning these are all “higher level” languages. System-level languages like C++ are awesome, but a bit lower level than I’m aiming for on this list!

1. Python

» 70.3K jobs, trend +1.2%

Python is an incredible language that seems to be getting more and more popular as time goes on. It can be used for full stack web development with frameworks like Django and Flask and is the most popular Machine Learning language with frameworks like Tensorflow.

Putting Python at #1 on the list was a no-brainer: it had both the highest number of job posts and the largest positive search trend of all the languages. You simply can’t go wrong career-wise by adding Python to your repertoire.

Python Frameworks to Learn

  • Web development: Django, Flask
  • Machine learning: Tensorflow, scikit learn

2. JavaScript

» 49.8K jobs, trend +0.6%

Once only for the front of the web development stack, JavaScript has become an excellent full stack language. For those who don’t love the weakly-typed nature of the language, Typescript has even emerged as an extremely popular, strongly-typed superset of JavaScript (and generally compiles down to JS at build time). While JavaScipt has the third most mentions on Indeed, it’s growing far faster than the language with the second most mentions (Java). You would be well-served to learn JavaScript as your next language!

JavaScript Frameworks to Learn

  • Front-end web development: React, Vue, Angular
  • Backend web development: Express, NestJS

3. C#

» 27.3K jobs, trend -0.8%

C# is a powerful multipurpose language designed and supported by Microsoft. It’s the backbone of the .NET ecosystem, one of the most popular frameworks in web application development. With Microsoft’s support, C# is sure to be a major player in the web dev world for a long time to come!

C# Frameworks to Learn

  • Web development: .NET Framework, .NET 5

4. Java

» 58.3K jobs, trend -1.7%

Yes, that’s right, Java. Anyone who knows me knows that I am not a big Java fan, but it is still in a huge share of legacy web applications, and these applications require developers to maintain and enhance them. Java isn’t only a legacy language though, you’ll certainly find a good number of new applications being built with the language.

That being said, we can see that Java is the second-most mentioned language on Indeed but it’s only #4 on this list. Why? Its web search trend is the most negative of all languages at -1.7% searches since last year. You’ll have no trouble finding good, lucrative work with this language, just don’t expect to feel like you’re on the cutting edge and it’s reasonable to expect the Java community to continue shrinking over time.

Java Frameworks to Learn

  • Web development: Spring Boot

5. Ruby

» 13.2K jobs, trend -0.1%

Ruby, and specifically Ruby on Rails, feels like a stalwart in the web development community. Ruby is known for being a nice, ergonomic language: you can accomplish a lot by writing a little, and it’s easy to understand. Rails is a very opinionated MVC framework that works quite well out of the box.

As a qualitative aside, I know a lot of Rubyists and they’re great people!

Ruby Frameworks to Learn

  • Web development: Ruby on Rails

6. Swift

» 7.5K jobs, trend -0.3%

Swift is the now-favored language for developing for Apple-based platforms (e.g., macOS, iOS, watchOS, tvOS). It is now preferred over Objective-C; however, Swift finds itself a bit farther down the list because there is still a ton of Objective-C use out there. For this reason, It’s a bit challenging to figure out whether it’s worth learning Swift yet (there are ~3x more Objective-C than Swift jobs on Indeed!).

7. PHP

» 8.7K jobs, trend -0.3%

Many developers seem to give short shrift to PHP, but it has some mighty frameworks and a loyal base of support. While earlier versions of the language had issues such as inconsistent naming conventions and confusing errors, the language has been cleaned up quite a bit in later versions. Furthermore, there are some great frameworks out there that tend to abstract away any of the pain points of the language itself.

PHP does find itself a bit lower on the list; however, as its support in the professional world has stagnated with a relatively low number of job hits on Indeed.

PHP Frameworks to Learn

  • Web development: Laravel, Symfony

8. Go

» 2.5K jobs, trend +0.3%

Go is a statically-typed language designed by Google. It’s versatile and makes a great choice as a backend, microservice, or serverless language. Anecdotally, many programmers rave about Go. That being said, it always seems to be the “very cool but not widely implemented” language out there, which is why it lands at #8 on the list. It would be a great tool in your toolkit, but it’s going to be relatively challenging finding a lot of jobs that are specifically looking for Go.

Go Frameworks to Learn

  • Web development: Revel

Conclusion

Take this list with a grain of salt: if you’re interested in being an iOS developer, then go ahead and skip right now to Swift! Alternatively, if you’re focus is on front-end web development, JavaScript is likely where you’ll want to start. Machine Learning? Python is your language. However, if you’re just looking to dabble in languages that are both popular in the workplace and increasing in popularity, I’d recommend going down the list in order.

Nick Scialli

Nick Scialli is a senior UI engineer at Microsoft.

© 2024 Nick Scialli