What programming language should I learn in 2019? (the opinionated guide)
First, are you just learning to code? Stop here.
If you are just starting out and learning to code, then your answer is easy.
What programming language should I learn in 2019?
Here's a bit of truth for you: While you may be looking at what language is trending most this year or what framework everyone else is learning, this is never the best way to go.
For example: I attended a Bootcamp years ago and halfway through we were required to learn Ruby and Ruby on Rails.
That was the hot framework for startups and seemed to have a wide respect and niche following from developers at the time.
The problem? No companies in my city were using it. What's the point in pursuing Ruby on Rails, if it was't going to benefit me in my local job search? I had done the homework and it was not in demand in my area.
So again, "What programming language should I learn in 2019?"
This question, whether it's 2019, 2025, or whatever, can always be answered in two simple steps.
First, ask yourself this question:
Step 1: What language or framework is relevant in my location or relevant to my goals and pursuits?
Do you live in San Fransisco? You probably have lots of options.
Do you live in "small town" Nebraska? You are probably limited.
Do you want to freelance exclusively or work remote? Then again, you probably have lots of options.
So before you even get into the languages, what are your goals? What is trending in your city? What companies do you feel really passionate to work for?
Do some research. Go to Google and type in "big companies in [my city]." Go to each site and look on their job board. See what their developer or IT jobs are requiring. Go on LinkedIn and find startups in your area. Again, track down the job boards and keep notes on what languages or frameworks are required.
While you are doing this, make a list of all that you find and keep a tally. What are the top 5 in demand languages/frameworks/skills?
Once you determine this, then you move on with that list.
Step 2: From the list you formulated in step 1, which of these languages or frameworks do you enjoy the most?
Now that you have a relevant list from step 1, you can better pick and choose what to learn.
Let's say the trending list from step 1 is:
Which of these do you enjoy most (or based on your experience, you think you would enjoy most)?
Pick it and don't look back until you've learned it well.
Now, some guidelines on languages
Now many who read this post want the meat of the article. They want the languages listed out in order of importance so they can get an idea on what one is "more relevant."
Those posts, while I get sucked into reading them, really annoy me. Most are just written to drive traffic and so they all say the same thing and list the same languages.
Yeah, we already know that. So let me try to go a different route.
While starting with the above two steps is the best direction to take, I'll give my opinions on some of the languages as well, not based on lots of data and theory, but based on my job board observations and interest in the subject as well.
So here goes:
Whatever people say, Angular is still a hot topic and a worthy pursuit. Even if you don't see many new companies adopting this, there are myriads of thriving companies using it and looking for developers to maintain.
Vue.js, meh. I want to love it, but I just don't see a whole lot out there compared to these other two.
Python – Data Science, Django, Flask, Backend APIs
Look, if you are bad at math and never liked statistics, just put Data Science out of mind. If you are not "wired that way" then it's a hard, hard, road ahead. Entry-level data science jobs are very hard to find and are very competitive. If you want to go that route, be prepared to put it some hard time to get there.
But Python….Python is not only in demand, but rather easy to learn. And while easy to learn, it can also provide some of the most complex and powerful capabilities.
I love Python, but in my Freelance business and business circles I am in, I just can't find consistent work in Python.
One freelance Python endeavor you may want to consider is to learn Mezzanine CMS, which is like WordPress, but built on Python. For clients who want a solid CMS, but not WordPress, this is a great #2 option. Learn more about Mezzanine CMS here.
But Django is still a huge framework for web development, used by big companies, and can be picked up fairly easily. Flask is great for back end APIs and small apps.
You could indeed specialize in building APIs with Flask and create a nice niche career for yourself.
Don't let people bash PHP to you. PHP 7 is a powerful thing. The modern web owes its existence to PHP.
There are tons of PHP jobs out there and there is still a high demand for PHP jobs.
WordPress is PHP. Laravel is PHP. That old site that someone wants you to redesign….it's probably PHP.
The bad thing is that everyone knows PHP right? There are tons of options out there for PHP developers and ultimately because of it's global popularity and use, PHP developers will normally make less money due to there being a great supply to meet the demand.
If it's 2019 and you don't know PHP, I'm not sure that a full-scale pursuit is beneficial, but be sure you know your way around, especially if you are freelancing.
I'm not sure you should choose this as your first pursuit after the fundamentals but it just looks promising and it's a very powerful and efficient language. If you are free to learn it somehow, do it. If you are not 98% sure you are free to learn it, then do not even consider it.
Java / C Languages
Java, C++, C#, etc. are always solid choices for the corporate route. Want to work for Microsoft or some big tech company? Then surely they will require you to know one of these.
Yeah it's not the new, modern language everyone is jumping at, but they have stood the test of time and there will continue to be jobs out there for these.
Some other considerations:
Is your goal freelancing?
If your top goal is freelancing, then don't go learning C++.
There is a place for niche freelancers and perhaps being a freelance mobile developer or freelance Java developer may help you stand out better, but I almost guarantee that most businesses will look for bigger agencies to work on these types of projects then a lone developer.
If you are freelancing, learn PHP well and WordPress well. These two will provide you with 70% of your work and with more work.
Do you even blog?
If you don't have a blog or at least some sort of site to show off your work, then you are years behind. You should be contributing back to the web development community in tutorials, reviews, opinions, etc.
It's a wonderful platform to share what you are learning, how you are staying relevant, and a place to put your work on display to potential employers or freelance clients.
Also, being a developer, it's your very own coding playground!
You can set one up in just 20 minutes.
With this link, you can get hosting for only $3.95 a month AND a FREE domain! Also a free SSL certificate and 24/7 support.
Are you learning just to be learning something new?
If so, just stop. Life is too short to put yourself in an aimless, cyclical loop of learning. There are too many languages, frameworks, skills, definitions, theories, etc. out there to learn. Be sure there is an explicit reason you are pursuing this new endeavor before doing so and then pursue it with vigilance.
So again the question: What programming language should I learn in 2019?
Start with the two steps to determine what choice will benefit you the most, not what language is hot or trending.
Do everything with purpose, and best of luck to your 2019 coding pursuits!
So tell me, what language or framework are you learning in 2019?
** This article may contain affiliate links. Please read the affiliate disclaimer for more details.