Hi, programming beginner.
There’s no simple answer to it. It all depends on what you feel you want to do. Some people think they want to develop websites, others think they want to develop mobile apps, etc. But the reality is, you will never know exactly what you want until you’ve tried a diversity of programming languages.
This article aims to recommend what programming languages you should learn first and try out as a beginner as well as the best online courses.
I am going to assume you already have some basic understanding of programming. If not, I would recommend you to read the article first, where I wrote about how to become a successful programmer with no experience or degree, at any age. This article is like a supplementary article for the first one, or you can consider it as your second step to becoming a successful programmer.
In this article, I won’t be reviewing every possible programming language, because not every programming language is a good choice for people who have just begun their programming career.
Help me choose the programming language, please!
I know how you feel because I was in a similar situation, and to be honest, I still am! It’s so painful when you want to learn everything, but it’s just impossible to master everything. So we have to choose our niches.
Although it’s not possible to master every programming language, it’s very possible to try out the most popular ones. This is going to be just scratching the surface, but this is all you need in the beginning when you are looking for the most interesting programming language to create software with.
So, where to start learning?
I’ll give you my example: I’ve signed-up on various learning platforms that were offering a free trial. Some learning platforms offer one month trial, some two months. That’s more than enough to get started and to kind of shape your opinion about one or another programming language or technology.
I challenged myself to learn something new every day.
I was watching one or two different courses every day (I dedicated a few hours per day) for free for a couple of months. So in total, I had about 2-3 months of free and high-quality learning.
While watching these courses, I was also able to follow along and write code. I wasn’t trying to create some cool projects at that time to build my portfolio, but I was able to get quite a nice understanding of how these programming languages and technologies are used and what they are for.
Have a look at the Stack Overflow Developer Survey 2019. This graph shows the salaries per programming language, based on years of experience. Top programming languages are very rewarding, however, they are not for beginners.
As you can see, there are numerous programming languages available, but in this article, I will only highlight the major ones, what are they used for and how to get started with them.
Must have skills: HTML and CSS
To become a software developer, it is not enough to know just these two technologies. They are must-haves and you will be using them heavily.
These skills are your must-have skills and this is what you should be learning first. Every developer knows how to use these technologies and they are utilized by pretty much every major platform, whether it’s web, mobile or desktop.
HTML is used in combination with CSS. Every website was built using HTML and CSS, lots of desktop applications are also using HTML and CSS these days as well as mobile applications. HTML and CSS are what make your application visible to its consumer’s eyes.
You should start your programming career by learning HTML and CSS, and this is where you can start doing that!
Skillshare: [FREE] Web Development for Beginners – Introduction to HTML
This is a free HTML for beginners course by Skillshare.
In this course, you will be taught by Jeremy from webdevHD, there are 1.2k+ students enrolled. What I like about this platform and the course is that students are creating projects after completing the course and sharing these projects on the Skillshare platform with other students.
Pluralsight: HTML5 Learning Path
Here are the reasons why this learning path is worth it:
- You will learn what’s the difference between HTML and HTML5.
- You will learn all HTML5 markup elements, so you will be able to create your website concepts straight away.
- You will learn how to write high quality, semantic HTML markup.
- You will learn about reusable web components and how to use them.
- Native APIs for rich media, realtime effects and communication
- Speed up the user experience for online and offline applications
- Storage APIs and web sockets
HTML5 Learning Path includes 9 courses and over 27 hours of learning videos.
Pluralsight: CSS3 Learning Path
Here are the reasons why this learning path is worth it:
- There’s no CSS without HTML. You will be introduced to CSS and how to define styles using CSS.
- You will also get a deep look into CSS positioning, which is heavily used in CSS.
- You will learn LESS. The technology created for CSS. It makes CSS almost a programming language! This is a must-have skill in modern web development.
- You will learn how to use Bootstrap, which is the most popular CSS framework.
- Apart from all that, you will learn CSS3 topics such as selectors, generated content, media queries, shadows, text-effects, transitions, animations and much more.
CSS3 Learning Path includes 6 courses and over 11 hours of learning videos.
Udemy: Build Responsive Real World Websites with HTML5 and CSS3 + Certification
Rating: 4.6 (30,248 ratings)
This course is number one on the Udemy platform in the HTML and CSS subject with over 142k students enrolled. In this course, you will be taught by Jonas Schmedtmann, who is one of Udemy’s TOP instructors. He has a Master’s degree in Engineering and has been building websites since 2007. Jonas is not only a talented full-stack web developer but also is an expert in teaching other people.
To enroll in this course, you don’t need to have any coding or design experience. There are no specific requirements for your hardware, it will do any computer – whether it’s old or new, no matter what operating system you are using.
You will be using this course as your HTML and CSS coding bible as it includes:
- 12 hours on-demand video
- 11 articles
- 9 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Udemy: Learn HTML5 Programming From Scratch + Certification
Rating: 4.4 (13,339 ratings)
I wouldn’t skip this HTML5 focused course, because it will strengthen your HTML5 knowledge. It’s probably the best value you can get for this cheap price. Don’t get me wrong, if it’s cheap, doesn’t mean it’s bad. Its focus is solely on HTML5.
In this course, you will be taught by an organization called Eduonix, which creates and distributes a lot of high-quality courses. Eduonix has been in the business for over a decade now and is a trusted organization worldwide.
You will be learning from core concepts, such as: professional and valid HTML markup, text formatting, lists and tables, forms and inputs, div tags and some CSS, to the advanced HTML5 concepts, such as: new elements and input types, CANVAS and SVG features, Audio and Video, Geolocation, Web Storage / Local Storage, Application Caching and Mobile Development principles.
This course includes:
- 10.5 hours on-demand video
- 5 articles
- 26 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Other recommended FREE courses on HTML and CSS + Certifications
Pluralsight is a subscription-based website and if you decide it’s not for you, or not at this moment, you can go for the previously recommended courses on Udemy in combination with the courses on the LinkedIn Learning platform, where you will be able to learn for FREE for one month. You will be asked for your card information when you’re signing-up, but before the trial ends, just cancel your subscription if you don’t want to stay on the platform and you won’t be charged a single penny.
Courses I am talking about are these:
Now, the following courses are a sequence of 3 courses and you should be watching them in the same order.
P.S. it doesn’t matter that these courses were created in 2017, nothing has changed in terms of the CSS foundations.
Conclusion about HTML and CSS
Having HTML and CSS knowledge is crucial for pretty much every software developer, however, it is not enough to become one, unless your applications won’t require a nice user interface. HTML and CSS are how you usually give your applications a body.
Some applications, however, don’t need any user interface, for example, if these applications are just a piece of logic that runs as part of some bigger applications. This is usually called a backend development.
Some applications have a command-line interface, meaning, those applications will be running from a command line (Linux/macOS terminals or Windows DoS/Powershell). These basic interfaces do not use HTML, not CSS.
All other cases, like desktop applications, mobile applications or web applications, they are all using HTML and CSS. Most likely, you will fall into one of these groups, so you need to know HTML and CSS very well.
C# – .NET programming language
You may ask – why choose C# and .NET? There are many reasons for that.
Is C# pronounced as ‘C hashtag’? No, it’s pronounced as ‘Csharp’.
It used to be that the C# was only running on the Windows platform, meaning the hosting will be expensive. These would be the two main reasons why people refused learning C# as their main/first programming language.
Here’s good news! You can run .NET on any platform you want – Linux/macOS/Windows – you name it. Thanks for the .NET Core team for making this possible. I am developing my .NET projects on macOS and running them on Linux servers.
Another thing about the C# (.NET) is that this language is elegant, beautiful and very expressive, while being very easy to learn, so any beginner can pick it up quickly.
Once you get a good understanding of C# and .NET, you will be able to choose what type of .NET developer you want to become: C# backend developer, web developer (ASP.NET / ASP.NET Core), mobile developer (Xamarin) or desktop developer (WPF / UWP), games (Unity) or console applications developer.
As you may already know, in .NET, there are a couple of supported languages that share the same .NET runtime. These languages are Visual Basic, C#, and F#. I would encourage you not to have any interest in the Visual Basic as this is a dying programming language.
Companies that still have some systems written in Visual Basic, are usually looking forward to migrating to a modern language like C#.
Depending on your desires and wishes, if you are looking to learn .NET and C#, then Pluralsight is your main learning platform, hands down.
Speaking of C#, there are many courses on the platform, but the one that you should be taking right away as a beginner, is this:
or, if you are decisive enough about learning .NET and C#, you can go through the C# Learning Path and get a fully-fledged knowledge in C# in the most efficient way. Take your time to check out this learning path to see what courses it consists of.
Udemy: C# Basics for Beginners: Learn C# Fundamentals by Coding + Certification
Rating: 4.5 (28,125 ratings)
Pluralsight is a paradise for .NET developers, however, as an alternative to Pluralsight, you can also take courses on Udemy. The following courses will be the best courses you can get on Udemy covering the C# subject.
I like to watch a series of courses when they come from the same instructor, so it makes it easier to understand the material. These courses are created by Mosh Hamedani, who is a wonderful teacher, with more than two decades of experience in software development.
Just imagine what can people like him bring to the table for us learners.
Udemy: C# Intermediate: Classes, Interfaces and OOP + Certification
Rating: 4.5 (14,994 ratings)
Once you have a basic understanding of C#, you need to progress further. C# is an object-oriented programming language and as a C# developer, you must understand C# classes, abstract classes, interfaces and terms like encapsulation, inheritance, and polymorphism is something you will be in love with. You have to understand these things and master them if you want to become a professional .NET developer.
LinkedIn Learning: [FREE] Become a C# Developer + Certification + Badges
This is a great way to become a C# developer for free, using the LinkedIn Learning free trial. You will get 1 month for free, during which, you will complete this learning path to become a C# developer.
In this learning path, you will get all the information you need to become a C# developer. Even better, there’s a course included in this learning path for nailing your C# developer interview. I know it sounds unrealistic to think that you will get a C# developer job after watching this course, but after watching this course you will know what’s what and how you can learn and progress further. Moreover, you will know what to expect in the job interviews.
This would wrap-up the suggested courses for learning C# (.NET). There are plenty more courses on plenty of more learning platforms, but I have recommended just the best courses for learning C#.
PHP programming language
Good news for you! PHP is a piece of cake when it comes to choosing your first programming language. I have started with PHP, millions of other developers also started with PHP, so you can too!
PHP is one of the easiest programming languages to get a good grasp on to become a successful, well-paid software engineer. PHP is used in millions or billions of websites, hundreds if not thousands of well-known CMS systems were written in PHP. There’s no limit to what you can achieve when using this programming language.
Once you know PHP, you will be able to learn the most popular PHP frameworks like Laravel and Symfony. There are lots of other popular frameworks too, for example, CakePHP or Codeigniter.
Just look at the job boards searching for the ‘php’ keyword. You will get an understanding of what I am talking about!
There are thousands of PHP courses available, so there are a lot of crap courses created too. In this section, I will recommend only the best PHP courses on various online learning platforms.
Udemy: PHP for Beginners – Become a PHP Master – CMS Project + Certification
Rating: 4.4 (13,857 ratings)
Believe it or not, this PHP course on Udemy has everything you will need to become a PHP developer. Not an expert, but still a developer who is capable of making websites using PHP programming language.
Edwin Diaz, your instructor, will take you from ground zero to almost a hero in PHP in a very short time. There were over 70k students who relied on this instructor and I am no surprised why.
If you have a look at the table of contents, you will see that the instructor knows the subject. He will teach you in small steps, explaining every detail, in the right order, so you will pick up all the essential information you can think of easily.
If you prefer to start learning this language for free, then I’d suggest you look at LinkedIn Learning instead as it gives you a free month. If you won’t be fast enough to go through every course on the platform, then you will need to buy a subscription, which is not too expensive, to be honest, and really worth your money.
When I looked at the LinkedIn Learning platform for PHP courses, I was surprised by how many high-quality courses on the topic there are! I will pick up some really good Learning Paths for you you can rely on to become a PHP developer.
LinkedIn Learning: [FREE] Become a PHP Developer + Certification + Badges
Ok, this one is serious, it contains 45 hours of content.
What I like about this course, that it also starts with the content for pre-beginners. In other words, it starts with the content that will be understood by people who don’t have any previous programming experience. That’s about programming algorithms. You will be then learning PHP related things, from PHP essentials all the way to installing and using MySQL database systems, building your own content management system as a hands-on project, learning Git and GitHub, learning OOP programming with PHP, MVC design principles, testing and securing applications, and so much much more!
LinkedIn Learning: Other recommended courses towards becoming PHP developer
If you decide to get the LinkedIn Learning subscription (which is something I’d recommend doing) to become a professional PHP developer, then you should also be taking a couple more courses.
Beware, they are not for beginners, before taking them, you should be familiar with PHP quite well. Anyway, here are these goodnesses.
If you smash these learning paths, you want it or not – you will become a professional PHP developer. Choose these learning paths if you want to become a PHP developer. I mean, why not, more than 50% of the internet is built using PHP.
Rating: 4.6 (54,753 ratings)
When I started looking at the table of contents, it gives you more than you most likely need.
One time investment to kick start your career.
By the way, this course was delivered by the same guy who did the HTML and CSS courses. This course has 234,612 students enrolled – that’s MAD!
Let’s analyze the table of contents a bit to prove to you that you’re looking at the right course.
But look further now, it goes into more and more advanced levels. It even has over 7 hours explaining ES6, NPM, Babel, and WebPack. THAT IS CRAZY. This should be a whole separate course for each of these, but hey! It has been put into a single course for you.
Pluralsight is a subscription-based platform, so spending the amount for a subscription per year will cost you a lot less than buying a single course from Udemy. Pluralsight courses are of great quality too, don’t doubt about it.
Java programming language
Java is very popular and is used for many purposes: web development, desktop development, mobile development (Android) and backend services.
Big Data engineers are also using Java as their main language to deliver Big Data solutions and to manipulate data.
Often, universities choose to teach students programming using Java as their first programming language. In my opinion, Java is not the easiest language to start with, I’d rather first learn PHP and then switch to Java or C#.
By the way, if you know Java, you will easily learn C# as well as these two are very similar programming languages.
I like the fact that Java runs on billions of devices and has a vast community world-wide. Although I can write code in both Java and C#, I am missing expressiveness of C# when I write Java code. Anyway, you should try out this language yourself and decide whether you want to progress further with it. Java developers are paid well.
Pluralsight: Java Learning Path
Pluralsight is excellent at teaching Java. It has a learning path with more than 43 hours of content. There are 3 more Java related learning paths, but for now, I will only highlight the one which supposed to be taken by beginners.
Udemy: Java Programming Masterclass for Software Developers + Certification
Rating: 4.6 (87,795 ratings)
As another option for learning Java, you can buy a course on Udemy. This course has over 370k students enrolled and contains of around 79 hours of content.
What I like about this course is that it contains 36 coding exercises, which will help you to demonstrate your Java knowledge to your future employers.
This course is delivered by:
Tim Buchalka. His video courses are used to train developers in major companies such as Mercedes-Benz, Paypal, VW, Pitney Bowes, IBM and T-Mobile just to name a few.
Goran Lochert. Fully certified Java Developer and have a lot of experience with Java, JPA, Java Enterprise Edition, Spring, Spring Boot, Maven, Gradle, and JavaFX.
These guys have a vast development experience.
You will get the foundations first, knowledge about the latest and greatest Java features, then moving further by learning database connectivity, testing and even networking bits.
Coursera: [FREE] Java Programming and Software Engineering Fundamentals Specialization + Certification
The specialization has been delivered by Duke University and has around 70k students enrolled.
This specialization is mentioned as a last recommended course in the Java programming language courses’ list, but is far from being the last course you should enroll in. Probably, this is the best place for you to start learning Java.
This a specialization, not a course, and this term is used by Coursera, meaning it includes several courses, in this case – 5 courses. This will help you to become a Java developer.
Python programming language
Python is a great programming language and is used for a lot of scenarios, such as: web development, scripting, and backend development. It’s very easy to learn and use, so people are often using python for solving some tasks quickly. Analyze data sets, extract information from other websites, creating RESTful APIs, Machine Learning, Data Science, and there are many more use cases.
Python is especially great for Big Data developers, where they run python scripts on distributed Big Data (Hadoop) servers to analyze the data.
Coursera is the best place to start with python.
Coursera: [FREE] Python for Everybody Specialization + Certification
This specialization is delivered by a University of Michigan and is the most popular course for python on the Internet.
In this specialization you will understand the basics of computer programming using python as a programming language.
Here you have it, I’ve described the main programming languages in high-level. By now, you should have an understanding what they are used for and where do you need to start learning them.
This is not a full list of the courses you can find on the Internet, but I’ve done the research on the major online learning platforms and picked TOP best courses for you to start with.
I haven’t tried every programming language in the world, but I have tried the ones I’ve described in this article, and I know them quite well. I recommend you to know them as well.
As a developer, you should be familiar with the main programming languages, but ultimately, you should pick the one that you like the most and make it as your main programming language.