Let’s be honest…
There’s a lot of noise on the internet which makes things difficult to understand for the average beginner out there.
When it comes to programming languages, it’s quite a challenge to understand it simply.
So I thought, rather than complaining about it, why don’t I offer a solution to it?
Here it goes :)
What is server-side and backend development?
(Just to keep it simple for now, think of them as the same thing.)
This is everything you can’t see on a website. Think of a server (a big hard drive with all the site’s information) in a location somewhere in the world, processing all the website data and then sending it to the laptop/mobile/PC browser to display.
I’ll go into more detail below, but here are some backend development programming languages:
What is client-side and frontend development?
(Just to keep it simple for now, think of them as the same thing.)
This is everything you see, click and interact with on a website.
I’ll go into more detail on the next pages, but here are the frontend development programming languages:
What is a framework?
A framework is basically a package of files, folders, code, concepts and practices which makes coding with the fundamental programming languages much easier and quicker.
What is OOP?
Object oriented programming stores all of its data and programming logic in objects. Objects are defined as data and programming logic bundled together in a nice neat package.
If you’re new to web development, you are probably thinking:
What do I need to study to become a web developer?
That’s a great question. Below is a short and understandable breakdown of common programming languages you should learn.
Don’t worry about the guys out there who say ‘HTML and CSS are not programming languages’. Start with this and learn more from there.
The reason I say learn this first is because it will boost your confidence, you can get paid for some websites and you can build an awesome portfolio.
You are far more likely to get a decent paying project with this knowledge compared with knowing the basics of a backend programming language.
PS – I’ve updated the courses section on the site. If you haven’t done so already, go to the courses page and get the right courses sent to you.
Also known as Hyper Text Markup Language, a set of defined tags used to structure a website. Think of building a wooden house… HTML will be the foundation and the wooden framework of the house. It doesn’t look pretty (that’s where CSS comes in) this is just the ‘raw shell’ and layout of a website.
HTML5 is the one you need to watch out for! It’s one of the fastest growing job trends on indeed.com which shows its popularity. HTML5 is probably one of the best long term languages to study within the next 3 years. Some sites that make use of HTML5 are Ford, Peugeot and Lacoste – they are really cool (they just take long to load which is my main criticism).
The good thing about HTML5 is that it’s more dynamic (you can create awesome sites using less code and it does more).
This image sums up the difference between HTML and CSS pretty well :)
Also known as Cascading Style Sheets, a collection of style tags used to make the website styled. In the wooden house example, CSS would be the paint and how the house looks like.
Most websites make use of CSS.
CSS3 is the latest version of CSS. It’s more dynamic and works hand-in-hand with HTML5. Just like salt and pepper goes together, so it is with HTML5 and CSS3.
(OK that was a bad joke, but it has a lot and the more you master, the more your skills will grow which results in higher fees for your work).
Bootstrap is the most popular framework for building responsive, mobile-first websites. I personally love Bootstrap and I use it on at least 90% of my own websites and client websites.
It’s extremely easy to learn and it’s amazing how responsive and clean it can make websites look. Read this article on some juicy Bootstrap templates.
Sites that make use of Bootstrap are: Newsweek and Lyft.
Ruby is a great object-orientated programming language. What separates Ruby from languages like PHP, Java, C# and Python is speed and efficiency.
The websites that you can create using Ruby (and the Ruby on Rails framework) are incredible. If you want to create sites like Airbnb, Fiverr, GitHub, Kickstarter and Zendesk for example, then make sure you know Ruby.
Get Michael Hartl’s Ruby on Rails Guide here.
Java is used to create Android Apps, software, games and website content. Websites like LinkedIn, Amazon, Twitter and Netflix make use of Java.
Sites like Pinterest, Instagram, YouTube, DropBox, Google, Reddit and NASA make use of Python through Django – Python’s web framework (more info below).
Django is the most notable framework for Python. The main benefit of Django is that it’s built for speed and structured data.
It’s mostly used for CMS’s, database and news sites like Disqus, The Guardian, The Washington Post and social networks like Pinterest and Instagram – so in other words; big apps/websites.
Also known as Hypertext Pre-processor, is the most popular server-side programming language.
PHP is often used as the foundation of CMS’s (Content Management Systems) like WordPress and big websites like Facebook and Wikipedia.
The main Laravel benefit is that it is made for speed. You will be able to create clean apps and websites much easier and more effectively.
Sites that use Laravel are One Plus and True Lancer.
SQL (Structured Query Language) is a standard language for database-centred websites and accessing databases. If you need a login system or if you’d be dealing with data/accounts, then you definitely need SQL. By using SQL, you’d need to use a server-side language like PHP for example.
There are a few databases to learn, but to start, I’d recommend MySQL.
C++ is a general-purpose object orientated programming language. It is considered to be difficult to master, but once you know it, chances are you will love it. C++ runs well with almost every other programming language. Most systems out there can run the C++ code. C++ is a powerful language to use in Microsoft’s .NET Framework.
When to use C++?
Large-scale applications, PC games, game development, video games, application software, operating systems and databases. Companies like Intel, IBM, Microsoft, Adobe and Firefox use C++.
C# (‘see-sharp’) is the programming language for Microsoft’s .NET Framework.
C# is used for Windows applications, Android Apps & iOS Apps with the technology from Xamarin.
Made by Microsoft, ASP.NET is an object-orientated, server side framework which is written using the C# and Visual Basic programming language.
So what can .NET do and where is it used?
Some sites that run on the Node.js framework are: LinkedIn, PayPal, Dow Jones and Groupon.
If you’d like to use Node.js to build server-side applications (or big sites mentioned above), you can use Express.js (this is the framework for Node.js).
Websites that make use of Backbone.js are: Reddit, Pandora and Airbnb.
This is the ultimate list of Meteor.js resources to learn more.
This article does a great job providing everything you need to know about Meteor.js.
A CMS (Content Management System) is basically a platform that is the simplest way to create a website and make quick changes that (mostly) doesn’t require any coding knowledge – this is a VERY simple overview.
The 2 main CMS’s are: WordPress and Drupal.
WordPress doesn’t really need an introduction, but for the complete newbies, WordPress is responsible for around 25% of the internet! Drupal is considered to be difficult compared to WordPress, however, once you get used to it, it’s pretty powerful in terms of the features, scalability and speed.
Generally speaking, Drupal is favoured more by developers due to its features and the fact that we (developers) can customise it further. Saying that may offend some WordPress developers so to be safe, choose for yourself and read this comparison article :)
Swift is the fastest growing programming language in history! It’s built by Apple (not the granny smith apple) and they have big plans for it so it would be good to take note of it as the popularity grows.
Swift is generally what you learn if you’d like to become an iOS App Developer.
Git is a version control system that is used for software/web development. It allows you to revert files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more.
Many large companies and development teams make use of GIT to work and manage projects. Whether you are a web developer in a company or a freelancer, this would be a good move.
GitHub is a code hosting platform for version control and collaboration. Just like you get a website hosting platform like BlueHost, HostGator or NameCheap for example, GitHub is hosting your code (how cool is that?). To really understand GitHub, you need to understand Git.
You will be able to ‘show off’ all your projects and contribute to other projects you find. It’s almost like a social network for developers.
Note that this is NOT an exhaustive list of programming languages and things to learn about… This is just a list of what I have seen to be popular and noteworthy through my own experience and speaking with many web development professionals.
Here’s a very simple breakdown:
If you want to create sites that will use a database and data analysis:
Learn SQL and Python
If you want to make your own WordPress themes and work with WordPress:
If you want to make modern, interactive Websites and Web Apps:
If you want to create games:
Learn C++, Java and Unity
If you want to create Windows Applications:
Learn C# and Visual Basic
If you want to make iOS Apps:
Learn Swift, Xcode and C#
If you want to make Android Apps:
Learn Java and Meteor.js
Just type in, “Junior Web Developer Jobs in [your City]” on Google – even if you are not in the job market at the moment it gives you an idea of what the recruiters and employers are looking for so you know what is in demand.
Being a web developer doesn’t mean you have to master every programming language available. Sometimes it’s about just knowing enough and being able to know where to get information from and to best make use of the tools and resources available online.
It’s like most CEO’s for example. They don’t need to be able to create a Financial Statement from scratch or to create an Employment Contract from scratch and so on… They just need to know enough to understand it and in this case, they can speak to their Finance Department and Human Resources Department for the information.
IF YOU LIKE THIS ARTICLE,
JOIN THE SWD COMMUNITY WHERE
I HELP YOU TO GROW AS
I generally prefer learning through online courses, but you may prefer printed books or articles. Whatever it is, just do what is best for you. Learn at your own pace and have the dedication to complete it and stay committed!
Did you know that the average student does not even complete the first hour of a three-hour course? – That’s after paying $57 for it… That says it all.
PS – I’ve studied a few courses through Thinkful and they are offering an exclusive discount to SWD readers. This is not a ‘fake’ exclusivity deal – it’s the best deal you will get. Click here to view their courses that boasts a 93% job placement rate.
I also highly recommend Firehose Project. Read my review here.
Please let me know if you need any help with the above, I’m here to help.
If you like this post and want more posts like it,
click the 'I want to grow' button above and I will
send you awesome, actionable articles to advance
your career and grow your freelancing business.