Where are web developers needed?

As in the case of front-end development, absolutely everywhere where there is a site or application that interacts with the user on the web. Another thing is that everyone needs backenders of different levels: in the office of a conditional social network or a large ad site, a backend developer must not only have basic skills, but also work with high loads, microservice architecture and containerization (Docker, Kubernetes), know monitoring systems ( like Zabbix, Grafana), have Scrum skills (optional for specific companies). And for a small online store, a bunch of PHP-Ajax-the necessary DBMS-a little HTML is enough, sometimes even less. It is clear that both wages and experience requirements are also completely different.

Traditionally, we found 444 vacancies for a back-end developer on Habr Career, which is almost 2 times more than in the front-end. On hh.ru – about 1800. In general, front-end developers are already waiting for you at the workplace, for whom the site search works out for two hours 🙂 But seriously, there can be 2-3 back-end developers in the company for one front-end, especially if we are talking about applications with complex internal logic and business logic (online store, CRM-ERP, corporate portal, etc.).

Basic requirements for a professional

Requirements for a backender are even more sensitive to the characteristics of the company and its business processes than those of a frontender. Sometimes it can be very strange things at first glance, such as “understanding the principles of how a fish refrigerator works as an enterprise”, “knowledge of the basics of sales or experience in sales”, “brilliant knowledge of JavaScript, CSS and HTML”. But it looks crazy and repulsive only at the first approach. In fact, a back-end developer is really more immersed in business processes, he must not only develop code in accordance with them, but also adjust some things for specific tasks, understand how it works from the inside. If you have never seen a sales funnel and don’t understand what the hell it is, you will never be able to develop its logic along with filters, slicers and transitions (even if you have an excellent technical specification, it’s hard to figure it out). Well, in the “brilliant knowledge of JavaScript, CSS and HTML” example, everything is simple: probably the manager does not really trust his other developer and is ready to reconsider the approach to development. This often happens in small companies.

But there is also a basic set of requirements that a back-end developer will see in almost any job.

Knowledge of at least one “server” programming language: PHP, Go, ASP.NET, C/C++, Python, Ruby, Java. In some cases, knowledge of JavaScript for the backend (Node.js) is enough, but this is more like a plus than a point.

Knowledge of API (REST, SOAP – less and less).

Understanding the principles of Apache, NGINX, IIS servers, etc.

Unit test writing and code coverage skills.

Fundamentals of network security and knowledge of tools to ensure it.

Knowledge of popular web frameworks that are able to solve the problems of developing a specific application.

Database query writing and database design skills.

Knowing the basics of the frontend is not a plus, but a mandatory item, otherwise you will have an extremely difficult time designing and writing an application.

Another set of knowledge will be a huge plus for both your resume and your real work.

UNIX administration or knowledge of Linux (you can use any one distribution).

Knowledge of HTTP principles (caching, authorization, message structure, headers, response codes, etc.)

OSI model.

The skills of drafting and evaluating terms of reference (TOR) is a very important skill that is necessary to collect the most accurate information about software requirements.

“Yes, fuck off!” – you will say and you will be right. However, I have good news: the back-end development tools change much more slowly than the front-end, and the requirements take a long time to become outdated. So you mastered it once – and read the digests in order to generally be in the know, but especially not to boil because the flat design has become fashionable, and the product card on your site has been out of trend for two days already 🙂

By the way, there are many good, strong mathematicians among backenders, because backend development is an exact science, and the quality of the result depends heavily on how well the algorithms, patterns, cycles, functions, etc. you choose and apply are verified.

(Intern)

  • C++
  • C#
  • golang
  • SQL
  • .NET

(Junior)

  • PHP
  • Python
  • Java
  • Java spring framework
  • PostgreSQL
  • + OOP, frameworks

(Middle)

  • PHP
  • Python
  • Java
  • PostgreSQL
  • Java spring framework
  • + OOP, frameworks, Docker

(senior)

  • PHP
  • Java
  • Python
  • PostgreSQL
  • Java spring framework
  • + high-load systems, OOP, frameworks, Docker

(Lead)

  • PHP
  • Java
  • MySQL
  • PostgreSQL
  • Highly loaded systems
  • + Linux, OOP, frameworks, Docker

The principle of forming the list: when entering data on wages, users indicate the skills that they have in priority (what they can do!). That is, these are not the requirements of the employer, but the skills of specialists of each category.

As you can see, companies are ready to take interns with basic university C, C ++ and C #, but in the future they prefer specialists with a “working set” of a backender. Note the interest in containerization and high-load systems.

By the way, here is another roadmap for you, but for a back-end developer (the rest are also on the site – in my opinion, this is one of the best and most systemic that I have seen on this topic). Examine, print and forward to the top of the backend.

Maria Fassi
http://spinelwebstudio.com

Leave a Reply