If you're trying to get into web development and you're wondering what is the "best" language or framework to learn (or if Ruby on Rails is the best option), and how to do it faster than most, here's what you can do.
You don't want to waste your time learning a language or framework that is already dying, so it makes sense to find the best one before you get started.
Here's a video version of this article if you prefer to watch instead.
I wish I had known fifteen years ago what I'm about to tell you now.
Back then, Ruby on Rails was all the rage, and I quickly jumped on it.
But what I didn't realize at the time was that I got lucky Rails became popular.
I'm grateful for my choice, and even though you don't hear as much about Rails these days, that's just because it got stable and boring. And that's good for business.
But I don't think relying on luck is the best way to plan a career.
Here's the problem:
Most of what people like to talk about is the shiny new object of the day.
Everything that's not newsworthy, well, it's not going to show up on the news. Right?
And for you, that's not good. Because the advice you will find is largely skewed towards the shiny new object of the day. And what's new, is not always the best for you.
Many technologies have come and gone over the years, and all of them were, at some point, newsworthy.
And if you happened to look for advice on what to learn at the time that those technologies were popular, well... that's what you'd learn. Just like I did.
The truth is no one can predict the future, so there's risk involved in this decision any way you look at it.
The only thing you can hope for is to minimize that risk as much as possible.
And here's how you do that.
Research the job market
If you're looking for a job in software development, your goal is to get hired.
Again, your goal is to get hired. Not to learn a specific programming language or framework.
So the right thing to do is to get a sense of what the job market looks like in terms of technology stacks, the number of junior positions, and the salary ranges.
You can pull up a few job boards and figure out what are the most popular languages or frameworks for junior developers within your desired salary range.
And those would make a good start.
It's important that you base your decision on market demand, not on what is newsworthy.
Find your 20%
Now that you've set your goal, you need a plan to level up as quickly as possible.
The reason this is important is you could spend years learning and still feel like you're not ready to apply.
The Pareto principle, or the 80-20 rule, says that 80% of the results come from 20% of the inputs.
So you want to find that 20% you need to learn that produces 80% of the results you need to get the job.
Because all that time you spend learning is time you won't get paid. So you want to make it as short as possible.
Minimize opportunity cost
This next tip I'll share with you is a mindset change that took me too long to learn, but once I got it, I was able to learn things quickly and acquire many of the skills I used to admire in other people.
It's about realizing there's an opportunity cost to every choice you make.
Let's take a junior Rails developer salary for example.
If we look it up on Glassdoor, you'll see it's currently at around $88.000 per year. Which is roughly $7300/month.
That is how much money you're currently losing. Or in other words, that is how much you could earn right now if you were already employed.
And the more time you spend learning, the more you're going to lose.
You want to minimize that time frame as much as possible. And that means you need to find the quickest way to learn. Because that... is the cheapest.
Here are some of the ways you could learn, from the most expensive to the cheapest:
- Social media is the most expensive because you spend a lot of time and you learn almost nothing.
- Articles, blog posts, and tutorials are the next most expensive options because the information they provide is very often not comprehensive enough. You have to put together the information yourself from different sources and filter out what's irrelevant or outdated.
- YouTube has the same problem. You don't see enough of the full picture, you get no support, no roadmap, and you invest incredible amounts of time just putting together the information from multiple different videos.
- Books are a step up because you have a bit of a roadmap, but you usually need more than one book, and that's if you never get stuck. Books work well as complementary material to other options but don't rely on books alone.
- Online courses can give you a roadmap just like books do, and they show you how with video. But two of the biggest problems with online courses are that they often get outdated, and there's no personalized support, so there's a high chance of wasting a lot of time trying to get unstuck.
- 1-on-1 Coaching, while perceived as an expensive option is actually cheaper than you think. That's because your coach can get you unstuck and moving forward toward your goal much faster.
- Bootcamps are like having multiple coaches and a well defined roadmap so you can focus 100% on making progress towards your goal.
Mehod | Perceived cost | Opportunity cost |
---|---|---|
Social media | Free | $$$$ |
Articles, tutorials | Free | $$$$ |
Books | $12 - $50/book | $$$ |
Online courses | $10 - $300/course | $$ |
1-on-1 Coaching | $1600 - $2400/month | $ |
Bootcamps | ~$5000/month | $ |
Once you realize how valuable your time is, you'll pay closer attention to how you spend it, and you'll make better long-term decisions.