JavaRush /Java Blog /Random EN /Who's who in IT. What do PMs, frontend and backend develo...

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

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

6. PM - Project manager

The job of a project manager is to competently 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 the goals they pursue, and 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: stopping funding, dissatisfaction with the work on the part of the customer, and so on... The Who's who in IT.  What do PMs, frontend and backend developers and QA do - 2main task of the PM is coordinating a group of employees to solve technical problems, because developers are not always super sociable people and not They can always communicate competently with each other, and this, in turn, can only play against the project. Well, or, for example, the developer got stuck on something: he may sit for a long time and not know how to deal with some 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 to the rescue , who will help you find a person to whom you can turn for additional information, or who has already encountered something similar. PM responsibilities include:
  • setting overall project goals;
  • developing plans to achieve these goals;
  • maintaining project deadlines and current status reports;
  • project resource management (employees and technical equipment);
  • improving coordination of interaction between project team members;
  • tracking the effectiveness of the project and adherence to the planned schedule;
  • conducting risk assessments for projects;
  • organizing various meetings to discuss goals, current progress, positive and negative aspects of the project.
Required skills:
  • English Upper Intermediate and higher, since the PM communicates with the customer on behalf of the team;
  • broad technical knowledge, but not very deep, so that you can understand who does what, how the work happens in general, without going too deep;
  • skills in managing projects and teams involved in them;
  • strong communication skills, since the work of a PM mainly consists of communications with team members and management;
  • developed correspondence skills. For example, you often need to send letters to the customer’s email on behalf of a team or company, and no one will appreciate a letter written incorrectly or with errors;
  • an analytical mind 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 schedule and budget (after all, time = money);
  • resource and task planning skills.
According to dou, in Kiev the average salary for a beginning PM is $700 . The salary range in Kiev for these specialists is $1200-4500 : it all depends on the experience of the specialist and the company. Who you can grow into:
  • delivery manager ( DM ) is 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 don’t really understand the difference with the DM;
  • chief technical officer ( CTO ) - technical director responsible for developing products and improving their creation processes;
  • chief executive officer ( CEO ) - chief executive officer;
  • account manager ( AM ) - customer service manager;
  • retrain and move to another specialty))
If you are interested in people, 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. Frontend developer

A frontend developer is a developer responsible for implementing the visual portion 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's who in IT.  What do PMs, frontend and backend developers and QA do - 3Frontend developers, like backend developers, are the backbone of the development of any project. Those who support projects. After all, whatever the business, it rests on ordinary, so to speak, hard workers. So the developers act as such hard workers. As a rule, there are 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 old ones;
  • refactoring code to improve performance, which can sometimes suffer greatly; readability, so that other developers can quickly understand 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 with comments on what needs to be corrected;
  • communication with clients and team members - both Frontend and Backend developers;
  • technical implementation of the graphic UI/UX layout compiled by the designer;
  • tracking application performance;
  • fixing bugs (errors).
Frontend developers are programmers who have studied 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 necessary 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);
  • working with Angular 5+ ;
  • knowledge of JavaScript , TypeScript , RxJS , Sass , webpack ;
  • layout skills ( HTML , CSS );
  • skills in working with Git ;
  • understanding design patterns;
  • good knowledge of Linux .
According to dou, in Kiev the average salary for a beginning specialist in this profile 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 among highly qualified specialists. If you like to work with the technical part, but so that it 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 you can grow into:
  • tech lead - technical specialist (guru) in this field;
  • team lead - development team leader (field commander). From here you can grow into a managerial direction, for example, CTO ;
  • full-stack developer - a developer who owns both the backend and frontend parts, that is, you need to learn the backend ;
  • solution architect - a specialist who makes decisions about the architecture of the internal device and external interfaces of the product;
  • tech consultant - technical consultant in some technology;
  • retrain and move to another specialty.

8.Backend developer

Backend developers - create and improve the server part responsible for the business logic of the application, which connects with the visual (interface) part of the application (for example, through the REST API ). The combination of the server part of the application ( Backend ) + the visual part of the application ( Frontend ) forms a web application with which the end user interacts. Who's who in IT.  What do PMs, frontend and backend developers and QA do - 4Backend developers are responsible for creating, maintaining, testing, and debugging the entire backend. This typically includes core application logic, interaction with databases, interaction with various APIs , and other internal processes. A specialist in this profile, in addition to knowledge of the syntax of his language and basic frameworks, must have general knowledge of databases, in particular relational ones , be able to write unit and integration tests for his 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;
  • reviewing code from other Backend developers;
  • writing documentation to help new backend developers,
  • those who come to the project will quickly understand 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, of course, we will 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 entire web development process;
  • knowledge of SQL language ;
  • knowledge of relational databases, such as PostgreSQL or MySQL ;
  • skills in interacting with a database 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 using 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 this is important in any direction and in any other profession. But if you compare it with a PM or a recruiter, whose entire job consists of communication, then for a developer having super-developed soft skills (communication skills) is not so critically important. After all, they work in code all day long and, for example, once a day they participate in some kind of meeting, like a daily meeting, at which they say literally a couple of sentences: what they did, what they are doing, what they will do. Well, sometimes they call their colleagues to discuss some technical issues. Therefore, this profession is great for introverts - people who love privacy. You can receive your task and work on it without spending a lot of hours on unclear calls and discussions. I also wrote that the required level of English is Intermediate , since 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 on the customer’s side. Customers can turn a blind eye to the crooked English on the part of developers: the main thing is that they are strong in development. Opportunities for growth for Backend 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.
The salaries of Backend developers are very pleasant. For example, a beginner Java Developer on average in Kiev can receive about $600 . The average salary in Kiev for these specialists varies between $1950-2850 . Well, for strong Senior-level developers, the salary can reach $5,000 and above. But you must understand that this can be achieved with enormous experience behind you and the highest level of skills. At school I was always good at mathematics and physics, because they gave me bricks in the form of formulas, and in order to solve some problems I had to build a logical structure from these bricks. That’s why I like development - the same principle, only there are many more logical bricks, and the structures need to be built more complex. If you are not looking for easy ways and want real challenges, then feel free to choose this direction.

9.QA Manual

Manual Quality Assurance is a specialist working to ensure product quality, whose goal is to improve the application development process itself, analyze documentation and, based on it, identify errors and inaccuracies in the operation of the product. Who's who in IT.  What do PMs, frontend and backend developers and QA do - 5Typically, quality assurance, which is dealt with by the QA Manual , consists of:
  • conducting risk assessments;
  • analysis of specifications and requirements;
  • generating ideas to improve product quality;
  • drawing up 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 that’s right, because in addition to correctly written functionality, we need to be sure that it works correctly and does not contain 100,500+ bugs. This is where testing comes to the rescue, serving as a kind of quality control so that only a product that is as streamlined and polished as possible can pass it. The responsibilities of the QA Manual include:
  • studying requirements, specifications and other documentation;
  • viewing and checking the system and its technical characteristics for compliance with the specification (list of requirements);
  • developing effective test strategies and plans;
  • writing test scripts (test cases), based on which QA Automation creates automated tests;
  • manual execution of test cases, analysis of results;
  • in case of failures or inconsistencies during testing, you need to draw up a report, create tasks (create bugs) and send them to developers for improvement;
  • product regression testing;
  • documenting testing stages;
  • communication with development teams about functional inconsistencies and bugs.
Necessary skills to become 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 technical orientation;
  • 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 - the leader of QA in the team;
  • retrain and move to another specialty, for example, become a frontend or backend developer .
In Kiev, the average QA Manual salary for a newbie is $400 . Well, on average, salaries for these specialists are in the range of $1250-1650 . For the most seasoned Senior specialists, salaries can reach $3,000 and above. This is one of the easiest ways to “enter IT”: you can start with this specialty, and then move on to something more complex, or reach the heights of mastery in this area.

10. QA Automation

QA Automation is a product quality specialist who uses various software tools to create tests based on scripts written personally or by 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 functionality. These tests are typically run automatically under certain conditions: when the application is built, or every day at some time, and so on. Who's who in IT.  What do PMs, frontend and backend developers and QA do - 6Typically, AQA's responsibilities include :
  • studying requirements, specifications and other documentation;
  • creating and setting up test environments for executing test cases and scripts;
  • designing, creating and executing automation of test cases (test plans) using Selenium in accordance with defined quality assurance standards and methodologies;
  • studying manual testing of the application and making suggestions on the possibility of automation;
  • maintaining up-to-date automation test cases;
  • writing documentation;
  • maintaining the required level of 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 functional inconsistencies and bugs.
The main “trick” of automation testing is that automated tests allow you to test software much faster, more often and, accordingly, speed up product delivery. First, a job of test automation done well will allow tests to run quickly and predictably. This in turn will avoid situations where the person performing the steps manually might skip a step or enter a value not intended for testing. Second, you can include automated tests in the build process and run them every time the build completes. This can be done using the 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 we 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 tests need to be written in something;
  • writing automated 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 a 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 for a QA Automation beginner in Kiev is $600 . The average for this area is $1,700-$2,500 , and for senior-level specialists, salaries can reach $4,000 and above. If you have a critical mind, want to write code, but not have “challenges” that can sometimes get on your nerves, and want a more relaxed job, you should learn more about this profession. Who's who in IT.  What do PMs, frontend and backend developers and QA do - 7In all majors, I listed English as a required skill. But if you don’t have it very well, don’t be upset. This is not a sentence. There are quite a few different Russian and Ukrainian product companies that recruit specialists without the required knowledge of English, since people will not need to communicate with foreign customers (clients), but only within the team. For example, this could be the IT department of a bank or telecom operator. So you can find a job without speaking a language, if you have the desire. And today that’s all for me...Who's who in IT.  What do PMs, frontend and backend developers and QA do - 8
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION