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:
Java, Ruby, PHP, .NET, Python, Perl, JavaScript (NodeJS), C++ and SQL
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:
HTML, CSS and JavaScript
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.
As a great foundation to start, know HTML, CSS, Bootstrap and JavaScript (in that order).
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).
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.
JavaScript is the most popular programming language in the world. A simple example of what JavaScript can do is: If this, then that. So JavaScript is the interactive aspect of a website/app. If used correctly, it can really make a website stand out from the rest.
Did you know that JavaScript has more frameworks than universe has stars?
(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).
As you can see below, JavaScript is very enjoyable:
Websites using JavaScript are: Lost World Fairs and Cascade Brewery.
jQuery is just a simpler, quicker and easier way of using JavaScript - something like a framework. Think of it as a bundle of different plugins to add to your code which saves you a lot of time and makes it much easier for you to add a feature that you’d like.
Before you get started with jQuery, it’s advisable to have knowledge of HTML, CSS and JavaScript. jQuery is used by some big names like Google, Microsoft and IBM.
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.
Think of Ruby on Rails as ‘jQuery for JavaScript’. Rails is the framework, and Ruby is the fundamental language. I highly recommend Rails once you have a grasp of Ruby.
Make sure you learn JavaScript along with Ruby on Rails as you will need to use JavaScript when you advance in Rails. Also make sure you know Git and GitHub (recommended).
Get Michael Hartl’s Ruby on Rails Guide here.
Java is a big player, which some argue is slowly being replaced by Python. I would personally say that Java should definitely be a learning priority after HTML, CSS and JavaScript.
Java is used to create Android Apps, software, games and website content. Websites like LinkedIn, Amazon, Twitter and Netflix make use of Java.
Python is similar to PHP, Ruby and JavaScript in the sense that it is an object-orientated language. The good news about Python is that it’s considered to be a very easy programming language to learn and it’s also a good career choice.
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.
Laravel is the most popular PHP framework out there. I won’t touch on all of them - read more here, but this is most noteworthy.
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.
As your knowledge of general SQL and MySQL improves, I’d recommend learning MongoDB. Read more here.
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?
Dynamic websites and web apps with HTML5, CSS3 and JavaScript, Enterprise-level software development and web APIs. Websites that use ASP.NET are Dell, ASOS, TacoBell, W3Schools and MSN.
Node.js is a server-side framework for JavaScript. Node.js basically makes JavaScript (which is a front-end script) into a server-side technology. That sounds fancy, but all it means is that Node.js makes the overall website faster and it is perfect for real-time apps/websites that require a news feed, chat rooms, and other data-heavy applications.
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).
AngularJS is the most robust of the JavaScript frameworks. It is perfect for data-heavy websites like iStockPhoto, Udemy, Virgin America, Ford, Lego, and GoPro for example.
If you want to create websites that are much simpler than the website examples above, chances are you will be fine with a JavaScript framework like Backbone.js (below).
Backbone.js is a ‘light-weight’ JavaScript framework with the sole purpose of making it easy to connect with a site’s server-side application. It loads very quickly and it is ideal for creating awesome single-page web applications that don’t always require a full-page refresh (think Gmail as an example).
Websites that make use of Backbone.js are: Reddit, Pandora and Airbnb.
Meteor.js is an awesome framework to learn. In fact, I would go as far as to say that it is one of the easiest frameworks for beginners to learn. It’s advisable that you know JavaScript before studying this framework.
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:
Learn PHP
If you want to make modern, interactive Websites and Web Apps:
Learn Ruby (on Rails), JavaScript, JQuery, HTML5, CSS3, Python, Meteor.js, Angular.js and Java
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.
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.
Source: Huffingtonpost
GET MORE CLIENTS
Free 3 day email course with no fluff to help you get more clients
GET PAID MORE
Free 3 day email course filled with actionable steps to get paid more
LEARN: