Photo by Andrew Neel on Unsplash
The Courses
The Courses That Will Turn You Into a Full-Stack Software Developer
The Becoming a Programmer Series
In the previous article, we looked at the components that make up a typical enterprise application. In this article, we will have a look at the courses The Becoming a Programmer Series consists of and how they help you build the typical enterprise application.
The Order of Things
We start with a big-picture overview of IT. This helps us understand where programmers fit into the picture. Then, starting with the source of truth, the database in the back end, we move to the front end. Learning things in this order gets us productive quicker than if we are just randomly selecting areas to study.
Multiple Levels
I grouped the courses into 6 levels, from Level 0 to Level 5. Why do I start with 0? Because programmers always start with zero. It's just a thing we do. The idea is to complete one level at a time. I can not force you to do this, but it will serve you well to follow my advice.
Multiple Tracks
If you have to know one language and one language only, my guess is it has to be JavaScript as you can build front-end and back-end applications with JavaScript.
However, except for data analytics, where Python rules, I think that Java (launched in 1995 by Sun Microsystems) and C# (launched in 2001 by Microsoft), dominate the business world. As a result, I will do each course twice, a Java version and a C# version. Now it is really up to you which version you want to learn. As these languages are so similar and both are used extensively, I suggest you do both.
Both the Java and C# ecosystems are great at what they do. C# has the benefit that it came after Java. I remember when I first saw C#. I said to a friend: "Look, they fixed Java!" But Java caught up over the years and now it's pretty much a personal choice.
Irrespective of whether you are using Java or C# in the back end, you will use JavaScript in the front end. You simply cannot escape JavaScript. It's like that monster under your bed. It never goes away! So, I will do two JavaScript courses, one focused on general programming fundamentals, and one focused on DOM manipulation.
Let's now have a look at the different courses that make up The Becoming a Programmer Series.
The Courses
Level 0 - Becoming a Programmer
- Becoming a Programmer - The Big Picture
Level 1 - Database Fundamentals
Database Design
Database Fundamentals with PostgreSQL
Database Fundamentals with SQL Server
Database Fundamentals with MySQL
Level 1 - Programming Fundamentals
Programming Fundamentals
Programming Fundamentals with JavaScript
Programming Fundamentals with Java
Programming Fundamentals with C#
Object Oriented Programming with Java
Object Oriented Programming with C#
Level 1 - Web Fundamentals
Web Fundamentals with HTML
Web Fundamentals with CSS
Web Fundamentals with JavaScript
Web Fundamentals with jQuery
Web Fundamentals with Bootstrap
Level 2 - Version Control
- Version Control with Git
Level 2 - Testing
Unit Testing with Java
Unit Testing with C#
Unit Testing with JavaScript
Level 2 - Console Applications
Building Databases with PostgreSQL
Building Databases with SQL Server
Building Databases with MySQL
Building Database Applications with Java
Building Database Applications with C#
Building Database Applications with JavaScript
Building Template-Driven Applications with Java
Building Template-Driven Applications with C#
Building Mailing Applications with Java
Building Mailing Applications with C#
Building Scheduler Applications with Java
Building Scheduler Applications with C#
Building Reporting Applications with Java
Building Reporting Applications with C#
Level 3 - Web Applications
Building Web Applications with Java & Spring Framework
Building Web Applications with Java & Jakarta EE
Building Web Applications with C# & ASP.NET Core
Level 3 - API Services - REST
Building RESTful API Services with Java & Spring
Building RESTful API Services with Java & Jakarta EE
Building RESTful API Services with C# & ASP.NET Core
Building RESTful API Services with JavaScript & Express
Level 3 - API Services - SOAP
Building SOAP APIs with Java & Spring
Building SOAP APIs with Java & Jakarta EE
Building SOAP APIs with C# & ASP.NET Core
Level 3 - API Services - gRPC
- Building gRPC APIs with Java & Spring
Level 3 - Messaging Services
Building Messaging Services with Java & Spring
Building Messaging Services with Java & Jakarta EE
Building Messaging Services with C#
Level 3 - API Services - Webhooks
Building Webhooks with Java & Spring
Building Webhooks with Java & Jakarta EE
Building Webhooks with C# & ASP.NET Core
Level 4 - Single Page Applications
Building Single Page Applications with Angular
Building Single Page Applications with React.js
Building Single Page Applications with Vue.js
Level 4 - Mobile Applications
Building Mobile Applications for Android Devices with Java
Building Mobile Applications for iOS Devices with Swift
Building Mobile Applications with React Native
Building Mobile Applications with .NET MAUI
Level 4 - Desktop Applications
Building Java Desktop Applications with Swing
Building Java Desktop Applications with JavaFX
Building Java Desktop Applications with .NET MAUI
Level 5 - Security
Securing Web Applications with Java & Spring Security
Securing Web Applications with Java & Jakarta Security
Securing Web Applications with C#
JWT for Authentication
OAuth for Authorization
In Conclusion
As you can see, there is a lot to cover, because you need to know a lot of stuff about a lot of stuff. My suggestion is to follow the suggested path.
Next, we will have a look at who the suggested audience is for this series. Don't go away!