Interested in reading the original? Check it out over at General Assembly.

In 2012, Venture capitalist Marc Andreessen famously declared, “Software is eating the world.”

By 2020, there will be 1.4 million computer specialist job openings, according to the U.S. Department of Labor. But a study by Gartner projects that universities are not likely to produce enough qualified graduates to fill even about 30% of these jobs.

This means that the door is wide open for individuals who do not have a traditional background in computer science to learn how to code. But with so many programming languages out there, where do you start?

Let’s take a look at some of the most in-demand languages of 2016 to figure out which tools will best complement your skill set and career goals.

1. SQL

What is it?

SQL stands for Structured Query Language. SQL is not a “procedural language,” meaning it doesn’t instruct the computer to perform actions and create data. Instead, it’s a “query language,” which, you probably guessed, means it focuses on retrieving data.

What can you do with it?

SQL is good at fetching data and is most typically used to retrieve information from databases and combine it together to create reports.

What’s the learning curve like?

The great thing about this language is the syntax is very simple and it takes only a few minutes to learn how to run a very basic report. If you’re already an Excel wiz, you’re in luck because there is much similarity between the two.

Why is it in-demand?

Think of just about any organization from big banks, to hospitals, to app startups—all companies rely on data and need to organize and understand the information in a relevant way. They are always going to need a database professional.

Who Uses SQL?

Back-end developers, data scientists, data-driven marketers in almost every industry—everyone who uses a relational database uses SQL.

2. Java

What is it?

Java is a general-purpose programming language that can run on virtually any type of computer and is independent of both device and platform. It is an object-oriented language which basically means that it’s made up of modules of code, kind of like lego bricks, which can be used in other programs, without having to rewrite it.

What can you do with it?

The short answer is, just about anything. Java allows you to build applications, develop Android apps, deploy applications, integrate robust libraries, and create sophisticated GUIs, just to name a few.

What’s the learning curve like?

You have to remember that Java is a programming language so in order to learn to “speak” it, you must first learn to “talk” or computer program. The learning curve is steep but once it clicks, everything begins to fall into place. Remember, unlike other programming languages Java does not offer as much “instant gratification” upfront which can be frustrating in the beginning.

Why is it in-demand?

Java is a mature language and has been around a long time (for computer years). Due to it’s maturity and widespread use, most large applications use this language because of how effective it is to scale and maintain. Java is running pretty much everywhere you can think of and not going anywhere anytime soon.

Who uses Java?

Back-end web developers, especially in industries where you need high performance and security—like finance, healthcare, and even the gaming industry.

3. Python

What is it?

Python is an object-oriented programming language that is known for it’s clear syntax and readability.

What can you do with it?

Python can be used to program web and desktop applications. It is also heavily used in the sciences to analyze data.

What’s the learning curve like?

It is fairly easy to learn compared to more verbose languages like Java or C++. Python is a very readable language, which makes it easier to learn because you won’t waste time learning arcane syntax. This makes Python a great language for beginners and allows you to focus on programming concepts and paradigms early.

Why is it in-demand?

It is a very consistent language and works extremely well right out of the box. Python can complete the same tasks in fewer lines of code and it feels more intuitive and natural. This convenience and ease of use have made Python a popular language all around.

Who uses Python?

Data engineers, data scientists, and developers. Python is not industry specific, but task specific—great for data processing, business intelligence, and some application development.