The Web Developer's Roadmap
Tags: webdevelopers, article, webdev
Published: 2023-09-06 22:49:29

---
title: The Web Developer's Roadmap
published: true
date: 2023-09-06 22:21:02 UTC
tags: webdevelopers, article, webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/siw02o6jxw2sob9r4hd4.jpg
description: "Photo by Christopher Gower on Unsplash"
canonical_url: https://bandojay.hashnode.dev/the-web-developers-roadmap
---

### Introduction

In this quick guide, were going to explore how you can kickstart your web development career. Starting a career in web development might be tricky because of the several languages and frameworks available which can serve as a dilemma when you're just getting started. Sometimes, you learn languages and frameworks you don't have to just because you lack information in that field. This guide will point you to just what you need to know to get started as a web developer.

By the end of this guide, you'll understand the basics of web development, tools and frameworks necessary for you to get started. In all, you'll learn about:

1. Who is a web developer?

2. What is web development?

3. Front-end development

4. Back-end development

5. Tools & Packages

6. Conclusion

So, lets get started

## 1: Who is a Web Developer?

A web developer is a professional who builds and manages websites. A web developer can either be a front-end developer, a back-end developer or a full-stack developer.

A front-end developer is responsible for the user interface of a website or web application. They use HTML, CSS, and JavaScript to create the user interface that website visitors see and interact with. They use technologies such as HTML, CSS, JavaScript and other frameworks to create user interfaces.

A back-end developer is responsible for creating the server side of the web application. It includes the logic, functionality and data that make the website work. They use technologies like JavaScript, Java, Python, PHP and other frameworks to create web applications.

A full-stack developer is a web developer who can work on all aspects of a web application, from the user interface to the back-end code. They are skilled in both front-end and back-end development, which allows them to build complete web applications from scratch.

## 2: What is Web Development?

Web development is the art of developing a website, it constitutes the processes involved in the development of a website. Here, you'll learn how websites work and the differences between the front-end and back-end of a website.

### How websites work

All websites are just a bunch of files stored on a computer called the server. When connected to the internet, information can be retrieved from the server through your browser. Your browser (called the client) sends a request to a server which then responds in the form of webpages. The Internet is a network of networks, connecting computers all over the world. It works through the client-server process, where clients request information from servers and servers provide that information to clients.

## 3: Front-end Development

Front-end is the user interface of the website, it is the part of the website that a user interacts with. To be a front-end developer, you must learn HTML, CSS and JavaScript.

- **HTML:** HTML which stands for Hyper Text Markup Language is used to create the sites. HTML structures the document, allowing it to be displayed by the browser. HTML comprises elements that describe the order and structure of the content to be displayed by the browser. HTML is fairly easy to learn and should take you a few weeks to master along with CSS which well talk about shortly. It is however important for all web developers regardless of their stack to know HTML and its styling partner CSS which might come in handy sometimes.

- **CSS:** CSS called Cascading Style Sheets is used for styling HTML documents. CSS allows us to use several styles, formatting and to better organize our HTML documents and give visual aesthetics. With CSS, we can add colour, and fonts, and organize the layout of our pages, making them much more presentable to our viewers. HTML and CSS go together just like brick and mortar in construction. 

- **JavaScript:** JavaScript is the language of interactivity of the web. It is the language on which the web runs. The addition of JavaScript to web design gives a dynamic overlay to the website. JavaScript equips the developer with tools to make a website and a user interact. For instance, alerts, dynamic forms, and location trackers amongst others are dynamic elements that foster interactivity.

Also, JavaScript allows us to create complex websites with plain JavaScript called vanilla JavaScript and the use of JavaScript libraries which simplify the process. Libraries like React, jQuery, Angular and Vue are popular in the front-end developers space and can be used to create several dynamic websites.

### Places to Learn

To begin training as a front-end developer, there are various resources and sites to explore to get started. Websites like [w3schools](https://www.w3schools.com/html/), [freeCodeCamp](https://www.freecodecamp.org/), [Mdn](https://developer.mozilla.org/en-US/docs/Web/HTML). You can also take courses on [Udemy](https://www.udemy.com/courses/search/?q=complete+front-end&src=sac&kw=front-end) and [Odin Project](https://www.theodinproject.com/). There are also communities of seasoned developers with several videos on YouTube dedicated to teaching for free, just a simple search of html and css tutorial for beginners on YouTube will give loads of videos you can choose from.

## 4: Back-end Development

The back-end is where the logic, files and other server operation processes take place. It also contains the database which handles the user files, data and other information. The backend consists of the server, database and the application. Developers write code that moves data between the database and the client. Backend developers need the following skills:

- **Servers:** A server is a computer where files are stored as previously mentioned. It is also the system that handles network requests. 

- **Programming Languages:** There are various programming languages backend developers can learn, unlike frontend which is very limited. Choosing a programming language for backend development will depend on the needs of the organization/developer. Languages available are Java, Python, Ruby, PHP, JavaScript, and C#. As we can see, JavaScript can be used for both frontend and backend applications. Node.js is a JavaScript run-time environment, it runs JavaScript on the server and is majorly used for backend applications.

- **Databases:** Databases are systems for storing and handling data. Examples of databases are MongoDB, MySQL, etc.

- **Frameworks:** Similar to the frontend, the backend developer is presented with several frameworks to allow easy and smooth development. The frameworks are available in the different backend programming languages. Frameworks contain tools and libraries that shorten development time whilst still ensuring clean and quality code. Examples are the Laravel framework, Django, Ruby on Rails, etc.

- **API:** APIs called Application Programming Interfaces are software that allows two applications to interact with each other. APIs allow the frontend and backend applications to interact, extract and store data on the database amongst various functions. 

## 5: Tools & Packages

There are various tools and packages you need while getting started as a web developer. They are:

- **Text Editors and IDEs:** Text editors are software programs that enable developers to write and edit plain text. Examples are Notepad and TextEdit. With text editors, you can write HTML codes. However, text editors are limited in performance. 

- **Version Control:** Version control is a system responsible for recording changes to a file so that specific versions can be recorded over time. It keeps track of changes in your code so you can retrieve certain sections over time if you want. 

- **Package Managers:** Package managers are a collection of open-source software used to track software executables, scripts, libraries, etc. Packages managers automate the installation, configuration and removal of software packages. 

## 6: Conclusion

Learning tech is not easy and cannot be smooth sailing. Resilience, perseverance, and grit are essential in this journey. Be prepared to spend hours debugging, reviewing code for hours, and checking for errors in your code. Patience is also required, sometimes you run into errors due to misspelt words. For backend developers, you can get courses on Udemy. Udemy has a lot of great courses taught by amazing individuals, you can read the reviews if you're unsure which to pick. So, happy coding.