Who is who in IT?





At the present stage of development of industrial software development, one can observe a variety of production roles. Their number is growing, the classification is becoming more complicated every year, and, of course, the processes of selecting specialists and working with human resources are becoming more complicated. Information technology (IT) is an area of ​​highly skilled workforce and staff shortages. Here, the process of staff training, the need for systematic work with human resources are much more effective than direct selection using Internet resources.



The article discusses issues that are relevant for personnel working with IT companies: cause-effect relationships in the evolution of production roles, the consequences of misinterpretation of the content of roles for personnel work in general, as well as possible options for increasing the efficiency of the selection of specialists.



IT production for the uninitiated



Who is who in IT is a topic for discussion at various venues. It exists as much as the entire IT industry, that is, since the appearance of the first software development companies in the consumer market in the early 90s of the last century. And for the same amount of time there is no single view on this issue, which creates difficulties and reduces the effectiveness of personnel work. Let's try to figure it out.



For me, the topic of production roles in the IT field has become relevant and interesting since I joined the IT company. I spent a lot of time and nervous energy trying to figure out the production process. These costs exceeded my expectations and the costs of adapting to processes in other areas: education, material production, small business. I had an understanding that the processes are complex and unusual, since, in general, a person is more adapted to the material world than to the virtual one. But there was intuitive resistance: it seemed that something was wrong here, it should not be so. The adaptation process probably took a year, which, in my understanding, is simply a cosmic quantity. As a result, I had a fairly clear idea of ​​the key roles in IT production.



Currently, I continue to work on this topic, but at a different level. In the role of the head of an IT company’s development center, I often have to communicate with students, university professors, applicants, schoolchildren and others who want to participate in the creation of an IT product in order to promote the employer's brand in the labor market of a new territory (Yaroslavl). This communication is not easy due to the low awareness of the interlocutors about how the software (software) development process is organized, and, as a result, their lack of understanding of the subject of the conversation. After 5 - 10 minutes of dialogue, you stop receiving feedback and begin to feel like a foreigner, whose speech requires translation. As a rule, among the interlocutors there is someone who draws a line in the dialogue and voices the popular myth from the 90s: "Anyway, all IT people are programmers." The sources of the myth are as follows:





Attempts to combat this myth sometimes resemble a fight with windmills, since there are several aspects of the problem that need to be addressed. The human resources specialist needs, firstly, to have a clear picture of the production roles in the IT company in an ideal and real embodiment, secondly, to understand how and when the internal resource of the company can be most effectively used, and thirdly, what real methods will help to increase awareness of labor market participants and will contribute to the development of the employer brand. Let's consider these aspects in more detail.



Software Life Cycle as a Basis for Production Roles



It is no secret that, in general, all production roles in any IT company have a software life cycle as a source. Therefore, if we set the conceptual task of agreeing on a common perception of this issue within the entire IT industry, we must rely on the software life cycle as the accepted and unambiguously understood semantic basis. Discussion of specific options for implementing the issue of production roles lies in the plane of our creative attitude to the software life cycle.



So, we will consider the stages that the software life cycle includes, using the example of the RUP methodology. They are well-formed links in terms of content and terminology. The production process always and everywhere begins with business modeling and the formation of requirements, and ends (conditionally, of course) with user consultation and software improvements based on users' wishes.







If you take a historical excursion at the end of the last century (as you know, this was a period of "island automation"), then you can see that the programmer was engaged in the entire process of creating the software. Here the roots of the myth that every IT specialist is a programmer.



With the complexity of production processes, the emergence of integrated platforms and the transition to integrated automation of subject areas, with the reengineering of business processes, the emergence of specialized roles associated with the stages of the life cycle becomes inevitable. This is how an analyst, tester and technical support specialist appear.



A variety of posts on the example of the role of the analyst



The analyst (he is also an engineer-analyst, he is also a director, methodologist, business analyst, systems analyst, etc.) helps to “make friends” with business tasks and technologies for their implementation. Description of the problem statement for the developer - this is how one can characterize the main function of an abstract analyst. He acts as a link between the client and the developer in the processes of requirements formation, analysis and software design. In real production conditions, the list of functions of an analyst is determined by the method of organizing production, the qualification of a specialist, and the specifics of a simulated subject area.







Some analysts are closer to the client. These are Business Analysts. They deeply understand the business processes of the subject area and are themselves experts in automated processes. The presence of such specialists in the staff of the enterprise is very important, especially when automating methodologically complex subject areas. In particular, for us, as automators of the state budget process, it is simply necessary that among analysts there be domain experts. These are highly qualified employees with good financial and economic education and experience in financial institutions, preferably in the role of leading specialists. Experience of working not in the IT field, but in the subject area is extremely important.



Another part of the analysts is closer to the developers. These are System Analysts. Their main task is the identification, systematization and analysis of customer requirements for the possibility of their satisfaction, preparation of technical tasks and a description of the problem statements. They understand not only business processes, but also information technologies, are well aware of the capabilities of the software delivered to the client, have design skills and, accordingly, understand how best to convey the interests of the client to the developer. These employees must have an ICT education and an engineering and technical mindset, preferably with experience in IT. When selecting such specialists, a clear plus will be the availability of design skills using modern tools.







Another kind of analyst is the Technical Writer. They are engaged in documentation within the framework of software development processes, prepare user and administrator manuals, technological instructions, training videos, etc. Their main task is to be able to convey to users and other interested parties information about the program, to describe technically complex things concisely and clearly. For the most part, technical writers are fluent in Russian, with a technical background and analytical mind. For such specialists, the most important are the skills of compiling clear, competent, detailed technical texts in accordance with the standards, as well as knowledge and possession of documentation tools.



Thus, we see the same role (and, by the way, a position in the staff list) - an analyst, but in its various concrete and applied incarnations. The search for specialists for each of them has its own characteristics. It is important to know that these types of analysts must have often incompatible skills and knowledge in one person. One is a humanist, prone to analytical work with large volumes of text documents, with developed speech and sociability, the other is a “techie” with engineering thinking and interests in the IT field.



Take from the side or grow?



For a large representative of the IT industry, the effectiveness of direct selection from Internet resources decreases as projects grow. This happens, in particular, for the following reasons: it is impossible to quickly adapt to complex processes within the company, the speed of development of specific tools is lower than the speed of development of the project. Therefore, it is important for an HR specialist to know not only whom to look for from the outside, but how to use the company's internal resources, from whom and how to grow a specialist.



Experience is very important for business analysts inside the real processes of the subject area, so their selection "from the outside" is more effective than growing inside the company. At the same time, it is important for the HR specialist to know the list of organizations that can be the sources of this personnel resource, and when selecting, focus on finding a resume from them.



To close such vacancies as a systems analyst and software architect, on the contrary, the training process within the company is of great importance. These specialists should be formed in the current working environment and the specifics of a particular organization. System Analysts are developed from Business Analysts, Technical Writers, and Technical Support Engineers. Software Architect (System Architect) - from the designers (System Designer) and software developers (Software Developer) with the accumulation of experience and expanding horizons. This fact allows the HR specialist to effectively use the internal resources of the company.



The intersection, unification and evolution of production roles



There is one more difficult question from the point of view of implementation in the production process - the establishment of clear boundaries between roles. At first glance, it might seem that everything is obvious: the implementation has finished, they signed documents on putting the software into commercial operation and transferred everything to technical support. That's right, but often there are situations when the client, out of habit being in close contact with the analyst and seeing a lifesaver in him, continues to actively communicate with him, despite the fact that the system has already been implemented and the maintenance phase is formally . However, from the point of view of the client, who is better and faster than the analyst who set the task with him will answer questions about working with the system. And here the question arises of partial duplication of the roles of technical support engineer and analyst. Over time, everything is getting better, the client gets used to communicating with the technical support service, but at the very beginning of the operation of the software, such an “internal transition” is not always possible without stress on both sides.







The intersection of the roles of the analyst and technical support engineer also occurs when the flow of development requirements is within the framework of the support stage. Returning to the software life cycle, we see a mismatch between the actual production conditions and formal settings that the analysis of requirements and the setting of the task can be performed exclusively by the analyst. The HR specialist, of course, needs to understand the ideal picture of roles within the software life cycle, they have clear boundaries. But at the same time, it should be borne in mind that intersection is possible. When assessing the knowledge and skills of the applicant, one should pay attention to the presence of related experience, that is, when searching for technical support engineers, candidates with the experience of an analyst and vice versa may well be considered.



In addition to intersection, a combination of production roles is often observed. For example, a business analyst and a technical writer can exist in one person. The presence of a software architect (Software Architect) is mandatory in large industrial development, while very small projects can do without this role: there, the functions of the architect are performed by the developers (Software Developer).



The change of historical periods in development approaches and technologies inevitably leads to the fact that the software life cycle is also evolving. Globally, of course, its main stages remain unchanged, but they are being detailed. For example, with the transition to Web-based solutions and the growth of remote configuration capabilities, the role of a specialist in software configuration has appeared. At an early historical stage, these were implementers, that is, engineers who spent most of their time working at clients' workplaces. The increased volume and complexity of software has led to the role of Software Architect. Requirements to accelerate release of versions and improve software quality contributed to the development of automated testing and the emergence of a new role - QA-engineer (Quality Assurance Engineer), etc. The evolution of roles at all stages of the organization of the production process is significantly associated with the development of methods, technologies and tools.



So, we examined some interesting points regarding the distribution of production roles within the software company in the context of the software life cycle. Obviously, this is an inside look that is specific to each company. For all of us, as participants in the labor market of the IT industry and responsible for promoting the brand of the employer, a look from the outside will be especially important. And here there is a big problem not only in the search for meanings, but also in conveying this information to the target audience.



What is bad about the zoo of IT posts?



The confusion in the minds of HR specialists, production organizers and the variety of approaches lead to a very wide variety, directly to the “zoo” of IT posts. The experience of interviews and just professional contacts shows that often people don’t have an unambiguous understanding of the semantic load that should follow from the job title. For example, in our organization, positions that include the concept of an “engineer-analyst” suggest that this is a task manager. However, it turns out that this is not always the case: there are development organizations where the analyst engineer is an implementer. A completely different understanding, agree?



Firstly, the “zoo” of IT posts undoubtedly reduces the effectiveness of staff recruitment. When developing and promoting their brand, every employer wants to briefly convey all the meanings that exist in its production. And if he himself often can’t clearly say who is who, of course, that he will transmit uncertainty into the external environment.



Secondly, the “zoo” of IT posts creates huge problems in the training and development of IT staff. Each serious IT company aimed at building and developing human resources, and not just “milking” work sites, sooner or later encounters the need to interact with educational institutions. For highly qualified IT personnel, this is a segment of universities, while the best, at least in the TOP-100 ranking.



The problem of integration with universities in building a continuous process of training IT specialists is approximately half in the lack of understanding among universities of who is who inside the IT company. They have a very superficial understanding of this. As a rule, universities have several specialties with the word “computer science” in their names, and it often happens that when they conduct an admission campaign, they rely on the thesis that all specialties are essentially about the same thing. And it looks the same as if you rely on the popular myth that all IT specialists are programmers.



The experience of our close cooperation with universities shows that the specialty “Applied Informatics (by industry)” provides us with personnel for the departments of methodology and technical support, but not development. While Fundamental Informatics and Software Engineering are preparing an excellent human resource for developers. In order not to direct the applicant initially along an unsuitable path for him, it is necessary to “dispel the fog” that surrounds IT production.



Is it possible to bring everything to a common denominator?



Is it possible to unify production roles and come to a common understanding of them from the inside and outside of the company?



Of course, it is possible and necessary, because the accumulated collective experience of all enterprise-developers demonstrates the presence of common, unifying concepts of organizing the production process. This is a consequence of the fact that there is an unambiguously interpreted concept of the software life cycle, and the newly appearing production roles (DataScientist, QA-Engineer, MachineLearning Engineer, etc.) are the result of the refinement and development of the software life cycle as such, occurring with improvement of technologies and tools, as well as with the development and consolidation of business tasks.



At the same time, it is difficult to unify production roles, because IT is one of the youngest and booming industries. In a sense, this is the chaos from which the universe arose. A clear organizational structure is impossible and inappropriate here, because IT is an intellectual, but very creative field. On the one hand, an IT specialist is a “physicist” -intellectual with developed algorithmic and mathematical thinking, on the other hand, an “lyricist” is a creator, bearer and promoter of ideas. Like the artist, he does not have a clear plan for painting, cannot decompose the image into parts, since the latter ceases to exist. He is the master of information processes, which in themselves are abstract, intangible, difficult to measure, but swift.



Ways to build effective personnel work in IT production



So, what is important for an HR specialist to know in order to build effective personnel work in the context of the diverse roles of IT production.



Firstly, any personnel specialist in an IT company should have an idea of ​​the situation that is specific to his enterprise: who does what and what, who and what is called, and most importantly, what is the meaning of these roles in a particular production environment.



Secondly, an HR professional must have a flexible understanding of production roles. That is, initially, he forms an ideal understanding about them, which allows him to figure out everything himself. Then there must be a real picture of production: where and in what roles intersect, unite, what kind of perception of these roles does production managers have. The difficulty for a personnel specialist is to combine the real and ideal situations in the mind, not to try to forcibly reorganize the processes to their ideal understanding, but to help production meet the resource requirements.



Thirdly, it is imperative to have an idea of ​​the possible development paths of certain specialists: in which case external selection can be effective, and when is it better to grow an employee in your team, providing him with development opportunities, what qualities of candidates will allow them to develop in a specific direction which of the qualities cannot be compatible in one person, which is initially important for choosing a development path.



Fourth, let us return to the thesis that IT is an area of ​​highly qualified personnel, where early integration with a university educational environment is inevitable for more effective personnel work. In this situation, each HR specialist should develop not only the skills of direct search, work with questionnaires and interviews, but also be obliged to navigate the environment of university training of specialists: which universities prepare personnel for the company, which specialties within specific universities cover staffing needs, and that It is important who is behind this, who directs and trains specialists at universities.



Thus, if you deliberately debunk the myth that all IT professionals are programmers, you need to take a number of steps in this direction and pay special attention to our universities, where the foundations of the perception of the future profession are laid. In other words, constant interaction with the educational environment is needed, for example, using the modern format of collaboration in coworking centers, “boiling points”, and participation in educational activities. This will destroy the misconceptions about the IT enterprise, increase the efficiency of personnel work and create the conditions for joint activities in the training of various specialists in our industry.



I express my gratitude to the colleagues who took part in the preparation and support of the relevance of this article: Valentina Vershinina and Yuri Krupin.



All Articles