My last article, From Frontend to Fullstack, got quite an attention, so I think I hit a nerve here. So I got the feeling I should dig more in-depth here, but in what direction?
One comment raised an interesting point.
I'm going FullStack... but still sudying. At the moment I can't see why I should learn serverless first, because of job's market. SQL is still a must to use, with a framework like Laravel.
In future, serverless will be a super fun stuff to learn. Not only it's fast, but the AWS and Google UI to their servers, are super cool and easy to understand.
I found this interesting. Is he right? Is the job market just searching for old tech?
I'm a freelancer, I write articles, teach people, and generally only do greenfield projects, haha. So my focus is on the tech that generates value with as least effort as possible.
The problem is, most companies don't have that luxury. They have code-bases that use some technology, and they have to maintain it. For various reasons, they can't simply move from one tech to another, just because it would save them significant money in the long run.
Companies, like people, can be tight on money or lack the skills needed to stay competitive.
Then some people want a well-paid job. They don't care if they have to write Java or Rust, they don't care about Kubernetes or Nginx; they heard software engineering is well-paid, so they go all in and try to score a cushy office job that comes with good pay.
I wanted to check this out. Does the job market just include things like SQL and Laravel?
Since I focus on frontend and fullstack here, I went through the most prominent job websites an searched for "fullstack" jobs. The results looked something like this:
- Angellist 2997
- LinkUp 2458
- CareerBuilder 2078
- Linkedin 1853
- Indeed 1023
So Angel List would give us the most significant number of "fullstack" job results. Since I don't have all the time in the world, I choose to focus on the most prominent site AngelList.
I went through 100 jobs I found for "fullstack" for you, and I extracted all tech required to get these jobs. The jobs were from all over the world.
This is the tech I found on 100 fullstack job offers.
- React 50%
- Node.js 40%
- REST 26%
- Amazon Web Services 21%
- TypeScript 21%
- Java 21%
- PostgreSQL 20%
- Docker 19%
- MongoDB 18%
- Python 17%
- Kubernetes 17%
- Angular 16%
- GraphQL 16%
- Git 14%
- MySQL 14%
- HTML/CSS 14%
- Redux 12%
- Go 11%
- Spring 11%
- React-Native 10%
- Express.js 9%
- Vue.js 8%
- Google Cloud Platform 8%
- Blockchain 8%
- Ruby on Rails 8%
- Hibernate 7%
- jQuery 7%
- Bootstrap 7%
- SQL 7%
These technologies alone are enough to go full stack.
Sure, the AWS part is a bit cheating here because AWS is a moloch of services, and anything that you need to create web services is found on AWS.
On the other hand, this is also what I'm already preaching here for months.
And now we even know it gives you a good chance of employment.
What's also interesting. Most offers there list multiple competing technologies as a requirement. They often say you should know one of the big frontend libraries: "React, Angular, or Vue." React isn't just running circles around the other frameworks; it's often accepted as a substitute skill for an Angular/Vue job.
I used the top 30 and not the top 10 because the results would exclude exciting alternatives to the mainstream tech.
These were just 100 jobs, and about 10 of them didn't list any technology at all.
Some technology seems to be so obvious, the offers didn't even mention it, OR the tech was implicitly included in other technology. I didn't give these extra "implicit" points.
JSON and XML were not mentioned explicitly, but it was apparent that the companies wanted an API that used one of these languages. Probably 5% mentioned one of them; the rest omitted them. HTML/CSS is an implicit requirement for web apps, but only 14% said so. The same goes for tools like Git or services like GitHub.
So what is left?
REST, AWS, Java, PostgreSQL, Docker, and MongoDB.
Getting proficient in REST API development is a good start, and learning either MongoDB or PostgreSQL is a good idea.
The AWS ecosystem is quite large and covers everything from file-storage to game development, so it would be crazy to learn all of it.
My take on AWS? Most of these companies probably aren't anywhere near cloud-native systems, so the AWS core services are enough. Get one of the associate certs, and you're good to go. You learn stuff about AWS when doing them, AND you have something to put into your application later.
I'd say Java isn't mandatory here, because most jobs only require JS/TS skills, but it can certainly give you an edge.
Let's look at the available learning resources for the top 10.
The React Website has a list with many free and paid React courses, so if you want to freshen up, go there!
There are useful guides on the Node.js website to get an overview.
Online Course Tutorials has a compilation of good paid and free Node.js courses.
Hackr.io also has a compilation of the ten most beloved JS courses out there, if you prefer something more video-y.
Moesif, the API analytics company I work with, has many free resources for REST API creation. They also talk about other API types.
Also, Digitaldefynd talked about the four best REST API courses of 2020.
A Cloud Guru has many resources for AWS. They get you ready for the certificates but also go into details about specific things like machine learning or serverless. I'd say they're the best resource when learning about AWS.
Javin Paul found you the top 10 free typescript courses in 2020.
And again, the Java guru Javin Paul also gathered the top 5 Java couses for you. Very prolific educator this Javin!
The PostgreSQL website lists a bunch of courses that could be interesting.
Coursesity also did the work and looked for the nine best courses to get up to speed with PostgreSQL.
Online Course Tutorials is at it again with the ten best online courses for Docker!
MongoDB has its own offical courses with certification and everything.
Digitaldefyned also list 6 courses for learning MongoDB in 2020.
Keep in mind that getting a job isn't all about technology, and I just went through 100 jobs here.
But if you want to get a fullstack job, you have to start somewhere and in times of Corona and isolation, leveling up your tech skills is probably the most straight forward approach to better chances in the job market.
What do you think? Let me know in the comments!