Backender feels good, he can be an introvert 🙂 His area of work with users is reduced to a minimum, basically, all working contacts with managers or colleagues. These guys often work according to the TOR and do everything as it is written in the document or in such a way as to get the state as close as possible to the target (TOR, you know, are also imperfect, or even not at all …).
However, there is a set of qualities without which you should not think about the direction of the backend. They may seem to you like the qualities of an employee who is needed by a “young dynamically developing team”, but no, we are talking about internal imperatives that will help not only do the job well, but also do it with inner comfort (and not “get rid of “).
A responsibility. Indeed, the backender is responsible for literally everything: for data to be saved, for relational tables to work as they should, for time zones to be taken into account, for the site to be nimble, etc. And if the crooked navigation from the front-end will lead to a couple of angry screams from users, then a back-end error can be very expensive – in the literal sense (for example, if business data is no longer saved for some reason or the separation of access rights in some CRM- system).
Care and attention to detail. Again, there are no trifles in the backend, so you need to carefully design the connectivity of all components and not miss anything.
Employability. Procrastination is a dangerous enemy of a backender, he must be able to work with concentration, sometimes in an extremely short time, so “cutting the code with laziness” is, please, in a pet project or already in a team lead state (there are enough other tasks).
Logical thinking and analytical mindset. It is understandable.
Ability to get things done, result oriented. In the backend, the result is important – a correctly and expectedly working application.
Ability to switch to macro tasks. It often happens that you need to leave the code of one part of the project and implement a fairly large function. This is not easy, because the programmer is already immersed in architecture and logic. The ability to switch without much problem for tasks is almost Jedi.
Planning and execution skills. The backend of any project is a collection of diverse tasks. And if you are the only backender of the project or you and your colleagues have a poorly implemented division of labor, only planning will save you from rush jobs, fakups and disruption of deadlines. Rigid planning for yourself and time is the key to calm work with virtually no overtime (which happens more often with backenders than others).
Teamwork skills. You will need to interact with a single development team for a single application, which means discussions, but not conflicts, refactoring, but not insults, defending your position, but not boycotts. If an evil introverted backender does its job perfectly, commits and washes its hands, users will not be able to appreciate its work for a long time – because you need to “assemble” the project as part of the whole team, and not fence off on the principle of “no foot to the frontend”.
The need for knowledge of foreign languages
Here’s what was written for a front-end developer.
For any programmer, English is highly desirable not lower than upper-intermediate with a bias in technical English. So you will be able to read in the original numerous recommendations from Google and other companies for optimal development (a lot of useful documentation!), self-educate yourself with the help of foreign lectures, communicate with colleagues on forums, ask questions, and read books on usability and design, among which are very a lot of cool English-language and not yet translated publications.
The same is true for the backender, even to a greater extent. In the comments to the previous article, they noticed that the upper-intermediate level is too big for an IT specialist, even lower is enough. I judge by myself and by the level of textbooks. Let’s just say, from intermediate to upper-intermediate, the step does not look like an abyss and the “to chat” level is taken easily. But from upper to advanced – an abyss both in complexity and in vocabulary. However, if you read the norms and understand that you read at a different level, no one will force you to take the exam, use it.
Where to study
In principle, the same technical universities, courses, self-education and corporate universities. But there are important nuances.
If you can become a front-end developer even after a non-core university (construction, design, economics, etc.), then a back-end developer is much more difficult. The ideal educational background for a back-end developer is mathematical, physical and IT education itself. They provide an excellent basis for understanding algorithms, functions, patterns, computational processes, etc.
With courses, the situation is also sadder – you can start learning some language (for example, PHP or Java) and even make some kind of full-stack mini-project, but only real work experience will give a complete understanding of the functioning and interaction of all components, because the backend has too many details and pitfalls (even despite the cool development tools).
It is for the backend that I see the best educational path to learn the basics of the server language and the path from an intern in a company where there is a mentor / mentor in the specialty. On a real project and narrow tasks, you will quickly understand what’s what.
Nobody cancels small open source projects that you can commit to.
And, of course, there should be a website (pet-project), which will become the main training base. The path ahead is not the easiest, so choose the topic that, in addition to the development itself, you will be interested in developing. For example, if you are fond of sports and a healthy lifestyle, develop a diary application with counters, connectors to some sensors, achievements, etc. It will be useful and exciting (and sometimes commercially successful startups grow out of such side / pet projects).
Why do I focus on books? Firstly, they are professional, and secondly, they can be conveniently kept at hand, make notes and stick stickers, and quickly return to the necessary information. This is a convenient and accessible format for the brain to present information. If you have not tested it yourself, be sure to try it, enjoy it!
The future of the backender
The future of the backender is drawn quite clearly and promisingly.
The standard path within their stack: junior with monosyllabic tasks and requests, middle with deep programming skills and excellent stack knowledge, senior with design, architecture, high workloads and other kubernetes, team lead with management skills, etc. This is a good corporate path, within which you can change companies, projects, industries, grow and be in demand.
Moving to another stack and exiting the web: often it is back-end developers who master Java, C / C ++ and go into the “bloody enterprise”, desktop applications, development of development tools, neural networks, computer vision, etc. Indeed, it is easier for a backender to master these difficult technologies and PLs.
Transition to full-stack development: the backender is closer to full-stack and such a transformation can be done completely imperceptibly.
The transition to DevOps, DevSecOps, information security – when you know web applications from the inside like the back of your hand, this path turns out to be logical and very profitable.
Transition to managerial positions, if there is a desire and inclination for managerial tasks.
Freelancing and your own software agency are for brave and moderately gambling guys. You can make good money on outsourcing development (especially if you go towards full-stack development).
I’ll tell you more: if in 2020-2022 you master SQL and any “back-end” programming language, you will be fine in 2032. And the point here is not about legacy support, but that there is no worthy alternative to the web yet, and if it and appears, the backender is much more likely to have its stack in place.
The main thing that will not work for you is to be a bad developer and at the same time count on something interesting. The fact is that every company expects responsibility from the backender (imagine errors in the code of a banking application, some critical GIS or online monitoring system – you can immediately turn gray) and a sound approach to work. It is unlikely that it will be possible to slander or say “as planned” – for all the external invisibility of the backend, the failure in it is most noticeable.
▍The backend is very difficult
Controversial question. Some developers claim that it is easier due to development tools, countless libraries and a low level of dynamism, the other part is afraid to approach the backend in principle. The truth, as always, is in the middle: rather, the backend developer stack is diverse and has heterogeneous components, but, firstly, not everything is needed in the project, and secondly, it is worth understanding one thing, and now all the relationships are obvious, knowledge strung on a single rod. In any case, you need to try yourself in the backend – even if you turn around and choose a different type of development, the knowledge gained will help you in your work.
▍Backend developer gets millions
This is generally a common myth about programming. The largest real salary for a Russian developer, which I have seen with my own eyes, is 540 thousand rubles. per month (C / C ++, foreign project, computer vision systems, candidate of sciences, remote work), the second from him – 400 thousand rubles. (Delphi, udalenka, foreign enterprise, German as native). The rest are very similar to the numbers that I took from Habr Career for my plates. You will receive millions only if it comes together: excellent knowledge of the language + talent + experience and unique skills in a narrow field + a project that is ready to pay so much. There are only a few such guys and I will not say that their fate is beautiful: 99% of their life is work, 1% is sleep. Therefore, it is important to realize another thesis: back-end developers are in demand and make good money, better than many specialists. So it’s worth trying.
▍PHP – [email protected], PHP is dead, PHP must die
I love this cooler! But at the same time, I know how newbies are afraid of it and strive to get around this powerful and in many ways convenient language and its frameworks. The fact is that in the early 2000s-2010s, PHP was an extremely popular programming language among freelancers and other IT gentlemen of fortune. It has a sea of bad amateur websites and apps written on it – not because the language is bad, but because these guys were not able to use it gracefully and competently. From there, these myths about “badness” came from.
Of course, PHP is easy to learn, livelier than all the living, hundreds of thousands of projects, projects and projects are written and supported on it, and it will live for quite a long time. According to Stackoverflow, PHP is chosen by 25.8% of professional developers. And according to Octoverse GitHub, the language is quite stable in terms of the number of projects: