Recently on the stack overflow site I saw a question in which a C ++ programmer asked what you need to start learning in order to later become a web developer. In his words, he began by studying php, but on the advice of friends he switched to reality, at some point he discovered an angular for himself, as a result, a mess formed in his head, and there was no understanding in which direction to move. It is for people who have just come to the web that I decided to share this article so that they have a rough understanding of what is here.
Any web application consists of two parts: a backend and a frontend. Accordingly, programmers are also divided, in fact, these are two unrelated castes of developers.
The backend is the server side of the application that is not visible to users. This includes: authorization, storage and processing of data, email newsletters and the like. Let’s just say the backend is what’s under the hood.
There are many programming languages here, here are the most common ones:
• Asp net
• Node js
I advise you to choose the only one, because at least several years will pass with the current requirements for programmers to reach the middle level. When choosing, you can familiarize yourself with the vacancies in your city, see which ones are more suitable, where they pay more and depending on which language they need to choose it from.
The server is used in many ways to work with data. Therefore, you will need to learn at least one of the relational databases:
In terms of complexity, this is about the same as mastering a programming language. All of these databases have a part that is the same everywhere – the so-called sql (query language), as well as a procedural language that is different in each database. Since sql is still one, and it is the basis for everything related to data processing, switching to another database is not such a problem. Therefore, you can choose any for a start, but even here I would go according to the principle of vacancy analysis.
Personally, I put a plus in the direction of learning the backend, since the skills here are more static and after learning, you can work on something once for a long time.
Frontend – a part that works in the browser with which the user directly interacts. These are dynamic interfaces, menus, events by user action, data exchange with the server side, in general, what happens on the client.
The problematic points I described are solved in modern js frameworks (for example, in angular and react). But in projects that are written without using frameworks, these moments remain.
For me personally, an even greater disadvantage is that there is a very rapid development of trends. The versions of frameworks are constantly updated, new libraries are released, and everyone wants to start using them right away. In general, the community cannot be kept up.
Already from the name it should be clear that this type of developer is developing both parts. I do not advise trying to become such a developer, because learning all the brains is not enough in any case, and most companies have already taken the path of division of labor. However, full stack is where you need to start to take a step towards backend or frontend. Having developed a couple of small applications, you will understand the difference between them (and it really is) and will be able to decide which side is closer to you.
I once read the book “Create dynamic websites” by “Robin Nixon” to decide. The book is small, only 500 pages, but thanks to it I got a general idea of web development and I boldly made a choice towards the backend, which I still do not regret. I gave this book as an example, you can take any other, it doesn’t matter.
That is, in principle, all that I wanted to share, I wish all those who have come to the web good luck and speedy development.