The Top 8 Online Courses Every Developer Should Grab
Drop a few bucks and become 3 times better than the average coder.
You must know a lot of stuff to be a developer.
Laying down the structure of a system, picking the right algorithm for a problem, fetching data from a database. All of this stuff has to be learned if you want to be successful in this profession.
Today, instead of just presenting you a list of things you must know, I have created for a list of places online where you can get that indispensable expertise I’m talking about.
Please note: For every item of my list, you will have a main course suggestion. Plus, I will provide you with a couple alternatives to that course, in case the main suggestion is too expensive of simply not your style of platform or teacher.
Let’s begin.
Data Structures And Algorithms
Not by chance, these two are the most requested topics during code interviews, because companies want to see how qualified you are when things get really technical.
It will always be impossible for you to become a great developer if you can’t implement an appropriate algorithm or pick the right data structure for you.
Here are some courses to fix that.
Main suggestion
Alternative 1
Alternative 2
Version Control
Modern coding would not exist without tools like Version Control, which allows us to manage our code and its progress along time, in summary, a true must-have for entering the programming’s industry.
Main suggestion
Alternative 1
Alternative 2
Databases And MySQL
Databases have been with us for more than 30 years, and they will continue to do so for a long time. Expect this topic to be compulsory if you want to consider yourself a developer being able to work on the full spectrum of an application.
Main suggestion
Alternative 1
Command Line
As a developer, you will adopt the command line daily, using it, for example, to manage Git or to move folders around. The bash is one of those few tools that can empower you and give you full productivity, and you should be well-prepared on this topic.
Main suggestion
Alternative 1
Networking Basics
Most of the applications you will write will not be based on a standalone client, but will represent part of an interconnected system. So if you want to understand applications better and master the development process, at least some networking basics will be required for you.
Main suggestion
Alternative 1
System Architecture
I actually failed an interview for a dream job due to my lack of knowledge in system design. I was undervaluing the importance of how to architect a system. During the years, I’ve got to appreciate the importance of this discipline, not only for its inherent beauty but because I find it the main gateway to become a senior developer.
Acing The Coding Interview
Since this is one of the hardest parts of every developer’s career, I thought that having a formal preparation on it can be a game-changer on how effectively you will advance in your career.
Conclusion
My life as a developer is the interval between one online course and the other. It’s just how this career goes, you always have to learn new stuff. But what I hate the most is not knowing where to go next, or what I really need to know in the ocean of available resources.
Hopefully, this post has helped you just to do that, to find your direction and give you a linear path to follow to become the next great developer.
— Piero
Resources
- What makes a successful developer in 2020.
- How I failed an interview for a dream job.
- Preparing for the coding interview in 2020.
- The JS masterclass on algorithms and data structures.
- Grokking the coding interview.
- AlgoExpert.
- The definitive guide to Git.
- Practical Git for everyday usage.
- “Pro Git” book.
- The complete SQL boot camp.
- The SQL weekend course.
- Learn enough command line to be dangerous.
- CodeAcademy’s course on the command line.
- Grokking networking for software developers.
- Cisco’s NetAcad.
- Grokking the system design interview.