Which Path to Choose as a Web Developer

The path I'm going to show is meant to be a guide; it's not detailed to the maximum, since in each type we could go deeper and deeper. Also, this is a personal opinion, it's not based on any study or anything like that.

 

 

1 - The Web Developer Path

To be a developer nowadays, in any aspect, we need basic programming skills, or what I call basic fundamentals where you'll learn what variables and operators are, different data types, you'll get to know your development environment or programming paradigms, such as recursion, data structures, or algorithms, which are common in all languages. The syntax might vary a bit, but the idea is the same. Learning this information in one language or another won't prevent you from switching languages in the future. 

 

It would be good for us, but not mandatory, to know what I'll call "internet fundamentals", and by this I mean: what a DNS server is, what HTTP is and how it works, and what happens when you press enter in your browser.

 

And finally GIT , it doesn't really matter if you want to learn GitHub, BitBucket, GitLab, etc. What matters is that you understand what a version control system is and how to use it at a basic level.

developer roadmap

1.1 - Choosing a Path

Once we have the basics down, we have to decide if we'll go down a more Back-End path, which usually means doing the code "behind the scenes" or "what you don't see", which is mostly APIs, background workers and "robots", or if we'll pick Front-End, where we're the visible face, the interface, the user interaction, etc.

 

choosing a path

Note: there are full stack developers who do both Front and Back. Personally, I have an opinion on the matter, which maybe I'll write a post about. 

And if you're in a small or medium-sized company, you'll have to do both. Well, and many other things as well.

 

 

2 - The Front-End Developer Path

If we choose the front-end developer path, we'll have to learn HTML, CSS, and Javascript thoroughly. We should also know the basics of SEO and accessibility, how to make layouts and templates with CSS, and of course, our code needs to be responsive without using a framework (which we'll learn later).

Once we get to JavaScript, we can use what we've learned in programming fundamentals and add features specific to web development and user interaction. Another very important point is the DOM.

 

From there, personally, I would move on to learning some CSS framework like bootstrap, or go a little beyond and use CSS frameworks that also come with Javascript, such as material UI or Tailwind CSS, which are the most common today.

 

By the way, all these CSS frameworks are created using what are called "CSS preprocessors", commonly seen as Sass

In 99% of jobs, you won't need to learn Sass, but maybe you'll want to be in that 1%.

 

With this knowledge you can already create static websites that look completely professional.

front end developer path

What we have to do now is turn those static websites into dynamic sites.

To achieve this, we'll need to render our applications on the server and show them to the user (Server side rendering). Today, the most common is to use a JavaScript framework such as react.js, angular, or vue.js, but on this blog we've looked at Blazor which is Microsoft's version using C# instead of JavaScript.

 

And from there, we need to develop a more advanced mastery of front end architecture, such as Progressive Web Apps (PWA), TypeScript, desktop and mobile applications, Web Assembly, and finally a detailed mastery of the framework we've chosen to learn. Mastery of the language includes testing, being able to debug and find problems, or knowing where problems usually happen so you can prevent them and act before they arise.

 

 

3 - The Back-End Developer Path

Just as in front end the order of learning is more or less clear, for backend we have two options. We can learn how databases work, how the file system operates, message brokers, etc., separately or we can learn them while learning a language.

 

Personally, I prefer to pick a language and learn X with that language, and then if I need it in another, migrate the knowledge. I find this approach more enjoyable.

 

The first step we'll face is picking which language we want to learn.

For 99% of corporate positions it will be one of the following: JavaScript, Java, .Net, PHP, Python, Go (which is trendy now), and maybe Rust (C/C++).

 

Now it's time to work with a database. Just as the front end never interacts with the database, the back end does so constantly. We need to understand the differences between SQL and NoSQL. Knowing some ORM can be beneficial, as well as understanding transactions, replicas, or backups.

 

Among the most common in SQL we have MySQL, MariaDb, or MSSQL. And for NoSQL, the most famous is MongoDB and then the AWS and Azure versions, which are DynamoDB and Cosmos DB.

 

 

Now we arrive at the star point for every company: APIs. Anyone working with somewhat modern software knows what an API is, and about microservices. To understand microservices, we need to know about OpenAPI, security (https/cors/owasp), authentication (OpenID, JWT), and of course Rest, SOAP and RPC

Knowing how to write good documentation for clients can make a very big difference. 

Also, achieving mastery in your chosen language that will let you stand out from the rest.

front end path

Once we have the basic knowledge of the language and the job in general, we need to go deeper into application design and architecture. 

 

We need to learn the SOLID principles, learn about Test Driven Development, Domain Driven Design, CQRS or event sourcing, and of course, be able to tell the difference between monoliths, microservices, and serverless. 

 

 

Finally, once we understand all the concepts in development and master the language we work with, we move on to distributed systems, now all the rage. 

Key parts for me are message brokers like Kafka or RabbitMQ, containerization, which is also very important to have fully controllable production environments , it's very common to do containerization with docker and Kubernetes, having some basics of observability to detect problems where they actually happen and not just where we see the error.

Knowing when to use distributed cache with redis and, personally, I recommend having a basic understanding of AWS or Azure and of continuous integration and continuous deployment.

 

Conclusion

In this post we've seen which path to choose if we want to go for the front end developer path or the back end one. But there's much more , in fact, many back-end developers, myself included, are interested in the DevOps world.

 

The important thing is to never settle and to keep improving.

This post was translated from Spanish. You can see the original one here.
If there is any problem you can add a comment bellow or contact me in the website's contact form

Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2025 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café