People often ask me this question, what do I need to learn to become a web developer. There’s no short answer to this question. And, the answer always starts with “it depends…”. In this blog post, I will try to deep dive into the different web technologies that you can learn to become a web developer.
In a previous blog post, I talked about the different types of web developers depending on what part of the web application they work on. To summarize, a web developer can be a front end, back end or full-stack developer. The part of the web application that you want to work on, will ultimately decide the technologies that you need to learn.
However, regardless of what type of web developer you want to be, learning HTML is a must. This is because HTML is the language that the browser interprets in order to display a web page. In most cases, HTML is written by the front end developer. But, it is very important for back end developers to know HTML as well. This is because they often need to send it back to the browser. So, think of HTML as the universal language that all types of web developers need to know.
What you need to learn: Front end
For a front end developer, in addition to HTML, they need to learn these languages/frameworks:
CSS
Cascading Style Sheets is the language used to style web pages. Think of HTML as the language that tells the browser what to display, and CSS tells it how to display it. Using CSS, you can give your pages colour, position the different elements of a web page and more.
JavaScript
JavaScript is a language that runs on the browser, and provides you with some very useful functionality. Let’s say that you have a contact form on your page, and you need to make sure that the user types a valid email address. One way to do this, is to validate the email address on the server once the users clicks the Submit button. However, the better option would be to do the validation on the browser itself. This will save the user the extra time it takes for the server to do the validation and return the result. It gives a better user experience overall.
Angular
Angular is a framework developed by Google, and used to create Single Page Applications (SPA). A SPA application gives the user a very responsive user-experience. Interacting with an application that was developed using Angular, is similar to interacting with a regular desktop application. The user does not experience the lag of the browser sending a request to the server, and waiting for the response. Everything feels more “snappy” and responsive. In a SPA application, the browser does send a request to the server, of course. But it is done in a way that feels more responsive to the user. To develop Angular applications, you have to know HTML, CSS and a language called TypeScript. This is a variant of JavaScript, and aims to improve on some of its shortcomings.
There are more frameworks that allow you to create SPA applications, other than Angular. For example, ReactJS and VueJS. However, I will stick to talking about Angular here because that’s my preferred framework.
What you need to learn: Back end
As a back end developer, there are more options to choose from than a front end developer. One major factor that may dictate what language you have to learn as a back end developer, is the Operating System of the web server where the application will be hosted. This is because not all languages run on all operating systems.
ASP.NET
ASP.NET is a Microsoft technology that can be used to create web applications. You can use different programming languages to create ASP.NET applications, but the most popular one is C# (pronounced C Sharp). ASP.NET runs only on Windows web servers. A more modern version of ASP.NET is ASP.NET Core.
ASP.NET Core
This is the enhanced version of ASP.NET, and is capable of running on Windows as well as Linux web servers. As far as programming languages are concerned, you can write ASP.NET Core applications using C# as well.
Node.js
You can create server side code using Node.js. The code is written in JavaScript and can be run on different types of operating systems. One advantage of using a JavaScript server side technology, is that you can have the same language (JavaScript) running on the server and the client side.
PHP
PHP is one of the oldest and most popular programming languages used for creating web applications. It powers one of the most popular blogging platforms on the Internet, WordPress.
Python
Python has been increasing in popularity in recent years. You can use it to create web applications, using frameworks like Django. One of the advantages of Python is that it usually requires less code to write something in Python than in other programming languages. This is because of the syntax of the language.
Database technologies
As a back end developer, you need to learn a database technology as well. You have to be extremely familiar with the core concepts of databases. Concepts like, tables, fields, primary fields, relations, etc. In addition, you have to know the ins and outs of the language used for querying (retrieving) the data from the database. Some of the most popular databases are:
- Microsoft SQL Server
- MySQL
- PostgreSQL
- MongoDB
Microsoft SQL Server, MySQL and PostgreSQL are all examples of relational databases. However, MongoDB is one of the most popular type of database technologies called NoSQL. I will not go into all of the differences between SQL and NoSQL databases in this blog post. But, one of the differences, is that in NoSQL databases the data does not have to be structured in a certain way. Meaning, you can start with a database structure, and then change that structure to something else without affecting the existing data.
What you need to learn: Full-stack
As a Full-stack web developer, you have to be able to create the whole application on your own. Which means, you need to learn some technologies from the front end stack, and some from the back end stack.
Courses to learn web development
If you are looking for good resources or courses to learn any of these languages and technologies, then one of the best websites for such courses is Udemy. It has a wide range of courses on these technologies, and more. Also, regardless of your current experience level, there’s a very good change that you’ll find the right course for you.
Conclusion
For any questions on what you need to learn to become a web developer, please feel free to leave a comment here or use our contact page.