JavaRush /Java Blog /Random EN /Who is who in IT. What do PMs, frontend and backend devel...

Who is who in IT. What do PMs, frontend and backend developers and QA do?

Published in the Random EN group
Hey! We all came here because we were interested in working in the IT field. But instead of poking at the first IT specialty that comes across, perhaps it’s worth considering a little the list of possible directions in an IT company? This is the second part of my short review. In the first one , we looked at such specialties as Recruiter, HR, System admin, DBA, DevOps. Today we will consider the specialties that are the "backbones" of any team and, accordingly, the project. Who is who in IT.  What do PMs, frontend and backend developers and QA do - 1If I confuse something somewhere, don’t scold too much, but rather correct it in the comments: I look at everything from the side of a Java developer and I simply don’t know the nuances of all specialties.

6. PM - Project manager

The job of a project manager is to properly plan, organize, manage technical projects, and improve communication between team members to ensure that work gets done smoothly and as efficiently as possible. These specialists must know the needs of clients and their goals, coordinate the actions of employees as much as possible in order to bring the project to its logical, positive conclusion. Positive, because projects cannot always be successfully completed due to a number of reasons: funding stops, dissatisfaction with the work on the part of the customer, and so on ... Who is who in IT.  What do PMs, frontend and backend developers and QA do - 2The main task of PM- coordination of a group of employees to solve technical problems, because developers are not always super sociable people and can not always communicate competently with each other, and this, in turn, can only play against the project. Well, or, for example, a developer has a gag on something: he can sit for a long time and not know how to deal with some kind of problem. We all don’t like to admit that we don’t know or can’t do something, and developers even more so. This is where PM comes in to help you find someone you can contact for more information, or who has already experienced something similar. PM's responsibilities include:
  • setting the overall goals of the project;
  • developing plans to achieve these goals;
  • maintaining project deadlines, reports on the current status;
  • project resource management (employees and technical equipment);
  • improving the coordination of interaction between members of the project team;
  • tracking the effectiveness of the project and following the planned schedule;
  • conducting risk assessments for projects;
  • organization of various meetings to discuss goals, current progress, positive and negative aspects of the project.
Required skills:
  • English Upper Intermediate and above, as the PM communicates with the customer on behalf of the team;
  • broad technical knowledge, but not very deep, so that you can understand who is doing what, how the work is done in general, without going too deep;
  • project and team management skills;
  • the strongest communication skills, since the work of the PM mainly consists of communications with team members, management;
  • developed writing skills. For example, it is often necessary to send letters to the customer's email on behalf of the team, company, and no one will evaluate the letter incorrectly composed or with errors;
  • an analytical mindset that will be useful in solving problems that arise while working on a project;
  • time management skills, the use of which will allow you to keep projects within the schedule and budget (after all, time = money);
  • resource and task planning skills.
According to dou, in Kiev, the average salary for a beginner PM is $700 . The range of salaries in Kiev for these specialists is $ 1200-4500 : it all depends on the experience of the specialist and the company. Who can you grow into?
  • delivery manager ( DM ) - a direct continuation of PM -a, stands immediately above a group of PMs and coordinates their projects at a higher level;
  • program manager - coordinates several interrelated projects, but I myself do not really understand the difference with a DM;
  • chief technical officer ( CTO ) - a technical director responsible for developing products and improving their creation processes;
  • chief executive officer ( CEO ) - chief executive officer;
  • account manager ( AM ) - account manager;
  • retrain and move to another specialty))
If people are interesting to you, you like to communicate with them and are ready to take on the burden of responsibility for a team (or even more than one) of developers, then this profession is clearly for you.

7. Front end developer

A frontend developer is a developer responsible for implementing the visual part of an application that users see and interact with in a web application. As a rule, these specialists collaborate with Backend developers who are responsible for the logical (server) part of the application, which continues the visual part of the application created by Frontend developers. Who is who in IT.  What do PMs, frontend and backend developers and QA do - 3Frontend developers, like Backend developers, are the backbone of any project development. Those on whom the projects are held. After all, whatever the business, it rests on ordinary, so to speak, hard workers. Here the developers act as such hard workers. There are usually many more of them than representatives of other specialties, and they are most needed in any project. Frontend Developer responsibilities include:
  • development of new functionality and improvement of the old;
  • code refactoring to improve performance, which can sometimes sag a lot; readability so that other developers can quickly delve into the code and its logic; extensibility, so that in the future it will be easier to implement new functionality by reusing parts of the old one;
  • review (review) of the code sent to the server. For example, one developer wrote the code, another reviews it and can return it to the first one with comments on what needs to be fixed;
  • communication with clients and team members - both Frontend and Backend developers;
  • technical implementation of the graphic UI / UX layout, compiled by the designer;
  • application performance monitoring;
  • fixing bugs (errors).
Frontend developers are programmers who have learned layout in HTML , CSS , JavaScript and have taken up the study of a specific framework, for example, Angular or React. Next, let's look at the specific skills that are required to become a Frontend developer, and take the Angular direction as an example . Required skills:
  • English level - Intermediate ;
  • understanding of the entire web development process (design, development and deployment);
  • work with Angular 5+ ;
  • knowledge of JavaScript , TypeScript , RxJS , Sass , webpack ;
  • layout skills ( HTML , CSS );
  • skills in working with Git ;
  • understanding of design patterns;
  • good knowledge of Linux .
According to dou, in Kiev, the average salary of a beginner in this field is $500 . The general median in Kiev for these specialists is $1800-2700 . Well, the highest figures can even reach almost $ 5,000 . But you must understand that these are isolated cases, and with highly qualified specialists. If you like to work with the technical part, but in a way that does not drive you crazy with its complexity, and at the same time have a profession in a popular direction, this specialty may interest you. Who can you grow into?
  • tech lead - a technical specialist (guru) in this field;
  • team lead - the head of the development team (field commander). From here you can grow into a managerial direction, for example, in CTO ;
  • full-stack developer - a developer who owns both the backend and frontend parts, that is, you need to learn backend ;
  • solution architect - a specialist who makes decisions about the architecture of the internal device and external interfaces of the product;
  • tech consultant - a technical consultant in some technology;
  • retrain and move to another specialty.

8. Backend developer

Backend developers - create and improve the backend responsible for the business logic of the application, which is connected to the visual (front-end) part of the application (for example, via the REST API ). The combination of the server part of the application ( Backend ) + the visual part of the application ( Frontend ) and form a web application with which the end user interacts. Who is who in IT.  What do PMs, frontend and backend developers and QA do - 4Backend developers are responsible for building, maintaining, testing, and debugging the entire backend. As a rule, this includes the basic logic of the application, interaction with databases, interaction with various APIsand other internal processes. A specialist of this profile, in addition to knowing the syntax of their language and the main frameworks, must have general knowledge of databases, in particular, relational databases , be able to write unit and integration tests for their code, have knowledge of the application builder - Maven or Gradle , be able to use Git - ohm. Backend developer responsibilities include:
  • development of new functionality;
  • code refactoring;
  • code review of other backend developers;
  • writing documentation, with the help of which new backend developers,
  • those who come to the project will quickly delve into the logic of the application;
  • fixing bugs;
  • writing tests (unit, integration testing);
  • communication with other team members.
Like Frontend , Backend developers have different directions, namely a specific development language. But we, of course, take the Java development language as an example. So, what are the necessary skills for a Java developer:
  • English level - Intermediate ;
  • knowledge of Java Core - the syntax of the Java language and a set of basic technologies;
  • understanding of the whole process of web development;
  • knowledge of the SQL language ;
  • knowledge of relational databases, such as PostgreSQL or MySQL ;
  • database interaction skills via JDBC , Hibernate ;
  • knowledge of the basic Spring frameworks (Spring Core, Spring Data, Spring Web) ;
  • knowledge of Git , Maven ;
  • skills in unit and integration testing, for example with JUnit and Mockito .
For Frontend and Backend developers, I didn't say anything about high communication skills. Everywhere they write that high communication skills are important for these specialists, but this is not entirely true. Yes, it is important to communicate adequately, but it is important in any direction and in any other profession. But if we compare it with a PM or a recruiter, for whom all work consists of communication, then for a developer to have super-developed softskills (communication skills) are not so critical. After all, they work all day in code and, for example, once a day they participate in some kind of meetings such as a daily rally, where they say just a couple of sentences: what they did, what they do, what they will do. Well, sometimes they call up their colleagues to discuss some technical issues. Therefore, this profession is great for introverts - people who love solitude. You can get your task and work on it without spending a lot of hours on incomprehensible phone calls and discussions. I also wrote that the required level of English is Intermediate, because on the one hand, there is not a huge amount of communication with the customer, but at the same time you need to be able to read / write in English (documentation, Jira) and, possibly, communicate with developers from the customer's side. Customers can look at the crooked English from the side of the developers a little through their fingers: the main thing is that they are strong directly in development. Backend growth opportunities are the same as for Frontend developers:
  • tech lead ;
  • team lead ;
  • full-stack developer - you need to learn frontend ;
  • solution architect ;
  • tech consultant ;
  • retrain and move to another specialty.
Backend developers have very good salaries. For example, a novice Java Developer can receive about $600 on average in Kiev . The average salary in Kiev for these specialists varies between $ 1950-2850 . Well, for strong Senior level developers, the salary can reach $5,000and higher. But you must understand that this can be achieved with tremendous experience behind you and the highest level of skills. Mathematics and physics were always good for me at school, because there they gave bricks in the form of formulas, and in order to solve some problems, it was necessary to build a logical structure from these bricks. That's why I like development - the same principle, only there are much more logical building blocks, and the structures need to be built more complicated. If you are not looking for easy ways and you want real challenges, then feel free to choose this direction.

9.QA Manual

Manual Quality Assurance is a product quality assurance specialist whose goal is to improve the application development process itself, analyze the documentation and, based on it, identify errors and inaccuracies in the product. Who is who in IT.  What do PMs, frontend and backend developers and QA do - 5Typically, the quality assurance that the QA Manual deals with consists of:
  • conducting a risk assessment;
  • analysis of specifications and requirements;
  • generating ideas to improve product quality;
  • preparation of test plans;
  • analysis and documentation of the obtained test results.
At the moment, testing goes side by side with software development and plays an important role in the creation of any high-quality IT product. And rightly so, because in addition to correctly written functionality, we need to be sure that it works correctly and does not contain 100500+ bugs. This is where testing comes to the rescue, which serves as a kind of quality control, so that only a product that is as debugged and polished as possible can pass it. QA Manual responsibilities include:
  • study of requirements, specifications and other documentation;
  • viewing and checking the system and its technical characteristics for compliance with the specification (list of requirements);
  • developing effective testing strategies and plans;
  • writing test scripts (test cases), according to which QA Automation creates automation tests;
  • manual execution of test cases, analysis of results;
  • in case of failures or inconsistencies during testing, you need to make a report, start tasks (start bugs) and send it to developers for revision;
  • product regression testing;
  • documentation of testing stages;
  • communication with development teams about feature inconsistencies and bugs.
Necessary skills for becoming a QA Manual :
  • English level - Intermediate ;
  • good understanding of application quality assurance methodologies and practices;
  • knowledge of regression testing;
  • ability to document errors;
  • Skills in detailed review of software requirements;
  • basic orientation in the technical part;
  • understanding JSON , XML ;
  • basic knowledge of SQL ;
  • skills in working with tools for organizing test documentation, for example - Testrail ;
  • attention to detail;
  • critical mindset.
A direct opportunity for the growth of such a specialist is QA Automation . To do this, you will need to learn a little. You can also grow into :
  • QA lead - QA leader in the team;
  • retrain and move to another specialty, for example, to become a frontend or backend developer .
In Kiev, the average salary of a QA Manual for a beginner is $400 . Well, on average, salaries for these specialists are in the range of $ 1250-1650 . For the most hardened Senior specialists, salaries can reach $ 3,000 and more. This is one of the easiest ways to “enter IT”: you can start with this specialty, and then move on to something more difficult, or you can reach the heights of skill in this area.

10. QA Automation

QA Automation is a product quality specialist who uses various software tools in his work to create tests according to scripts written by himself or QA Manual . QA Automation is something like the next level after QA Manual . If QA Manual does everything manually, then QA Automation uses some kind of programming language to write tests that check the correct operation of the application's functionality. These tests are usually automatically run under certain conditions: when the application is built, or every day at some time, and so on. Who is who in IT.  What do PMs, frontend and backend developers and QA do - 6As a rule, the duties of the AQA include :
  • study of requirements, specifications and other documentation;
  • creating and configuring test environments to run test cases and scenarios;
  • designing, creating and executing automation of test cases (test plans) using Selenium in accordance with certain standards and quality assurance methodologies;
  • study of manual testing of the application and making suggestions for the possibility of automation;
  • maintaining up-to-date automation test cases;
  • writing documentation;
  • maintaining the required level of test coverage (test coverage);
  • if necessary, help with manual testing. Can manually execute test cases and scripts for products under development using test management tools;
  • participation in the development, namely, in the administration of the quality control process;
  • communication with development teams about feature inconsistencies and bugs.
The main “trick” of automated testing is that automated tests allow you to test software much faster, more often and, accordingly, speed up the delivery of the product. First, a job well done in test automation will allow you to run your tests quickly and predictably. This, in turn, will avoid situations where a person performing steps manually may skip a step or enter a value that is not intended for testing. Second, you can include automation tests in the build process and run them every time the build completes. This can be done with a CI tool. Thirdly, when developers change some functionality in an application, it can affect a completely different part of the system and change its behavior too. But when you run automated tests, changes in the behavior of any part of the system will immediately become visible - this is additional insurance in case we create three new ones by fixing one bug. Required skills:
  • English level - Intermediate ;
  • good understanding of quality assurance methodologies and practices;
  • excellent knowledge of the syntax of one language (for example, Java or JavaScript ), because you need to write tests on something;
  • writing automation tests using Selenium ;
  • familiarity with CI/CD ;
  • ability to work with Git ;
  • attention to detail;
  • critical mindset.
A direct growth opportunity for AQA is to develop into the developer of the programming language in which you already write tests. You can also become:
  • QA Lead ;
  • retrain and move to another specialty.
The average salary of a QA Automation beginner in Kiev is $600 . The average figures for this direction are $1700-2500 , and for Senior level specialists the salaries can reach $4000 and more. If you have a critical mindset, want to write code, but at the same time not have “challenges” that can pretty much spoil your nerves at times, and want a quieter job, you should learn more about this profession. Who is who in IT.  What do PMs, frontend and backend developers and QA do - 7In all specialties I indicated Englishas a necessary skill. But if yours isn't great, don't worry. This is not a verdict. There are quite a few different Russian and Ukrainian product companies that recruit specialists without the mandatory knowledge of English, since people will not need to communicate with foreign customers (clients), but only within the team. For example, it may be the IT department of a bank or telecom operator. So you can find a job without a language, if there is a desire. And today that's all I have...Who is who in IT.  What do PMs, frontend and backend developers and QA do - 8 Who is who in IT.  What PMs, frontend and backend developers and QA do - 9