Who is who in IT?

Who is who in IT?

At the present stage of development of industrial software development, a variety of production roles can be observed. Their number is growing, the classification is becoming more complicated every year, and, naturally, the processes of selecting specialists and working with human resources are becoming more complicated. Information technology (IT) is an area of ​​highly skilled labor resources and a shortage of personnel. Here, the process of developing personnel, the need for systematic work with personnel potential are much more effective than direct selection using Internet resources.

The article deals with issues that are relevant for HR specialists in IT companies: causal relationships in the evolution of production roles, the consequences of misinterpreting the content of roles for personnel work in general, as well as possible options for improving the efficiency of recruiting specialists.

IT production for the uninitiated

Who's who in IT is a topic for discussion at various venues. It has existed for as long as the entire IT industry in general, that is, since the first software development companies appeared on the consumer market in the early 90s of the last century. And for the same amount of time there is no unified 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 my arrival in an 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 an intuitive resistance: it seemed that something was not right here, it should not be so. The adaptation process took, probably, a year, which, in my understanding, is just a cosmic value. 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 on a different level. As the head of the development center of an IT company, 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 development process is organized, and, as a result, their misunderstanding of the subject of the conversation. After 5-10 minutes of dialogue, you stop receiving feedback and start 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 folk myth from the 90s: “It doesn’t matter, all IT people are programmers.” The origins of the myth are as follows:

  • The IT industry is rapidly developing, in these conditions all the fundamental meanings and principles are at the stage of formation;
  • it is difficult to exist in conditions of uncertainty, therefore a person tries to facilitate his understanding of the unknown by creating myths;
  • a person is more accustomed to the perception of the material world than the virtual one, and therefore it is difficult for him to define concepts that are beyond his perception.

Attempts to fight this myth are sometimes like fighting windmills, as there are several aspects of the problem that need to be worked out. A personnel specialist needs, firstly, to have a clear picture of production roles in an IT company in an ideal and real embodiment, secondly, to understand how and when the company's internal resource can be most effectively used, and thirdly, what real methods will help 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 the basis of production roles

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

So, let's consider the stages that the software life cycle includes, using the RUP methodology as an example. They are quite mature 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 consulting users and software improvements based on users' "wants".

Who is who in IT?

If you make a historical digression to the end of the last century (as you know, this was the period of "island automation"), then you can see that the whole process of creating software was carried out by a programmer-developer. Here are the roots of the myth that every IT specialist is a programmer.

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

Variety of positions on the example of the role of an analyst

An analyst (he is also an analyst engineer, he is also a director, methodologist, business analyst, system analyst, etc.) helps to “make friends” with business tasks and technologies for their implementation. Description of the task statement for the developer - this is how you 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 qualifications of a specialist, and the specifics of the modeled subject area.

Who is who in IT?

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. It is very important to have such specialists in the staff of the enterprise, especially when automating methodologically complex subject areas. In particular, for us, as automators of the state budget process, it is simply necessary that there be experts in the subject area among the analysts. These are highly qualified employees with a good financial and economic education and experience in financial institutions, preferably in the role of leading specialists. It is extremely important to have experience not in the IT field, but in the subject area.

The other part of the analysts is closer to the developers. These are system analysts (System Analyst). Their main task is to identify, systematize and analyze customer requirements for the possibility of meeting them, prepare technical specifications and describe problem statements. They understand not only business processes, but also information technologies, have a good idea of ​​the capabilities of the software supplied 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 education in the field of ICT and an engineering and technical mindset, preferably experience in IT. When selecting such specialists, a clear advantage will be the presence of design skills using modern tools.

Who is who in IT?

Another type of analyst is the Technical Writer. They are responsible for documenting software development processes, preparing user and administrator manuals, process instructions, training videos, etc. Their main task is to be able to convey to users and other interested parties information about the operation of the program, to describe technically complex things concisely and clearly. Technical writers, for the most part, are fluent in Russian, while having a technical education and an analytical mindset. For such specialists, the skills of compiling understandable, competent, detailed technical texts in accordance with standards, as well as knowledge and possession of documentation tools, are of the greatest importance.

Thus, we see the same role (and, by the way, the position in the staff list) - an analyst, but in its different specific 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 communication skills, the other is a “techie” with engineering thinking and interests in the IT field.

Take from outside 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 mastering specific tools is lower than the speed of project development. Therefore, it is important for an HR specialist to know not only who to look for from the outside, but also how to use the internal resources of the company, from whom and how to grow a specialist.

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

To fill such vacancies as a systems analyst and software architect, on the contrary, the process of training personnel within the company is of great importance. These specialists should be formed in the conditions of the current production environment and the specifics of a particular organization. System Analysts evolve from Business Analysts, Technical Writers, and Technical Support Engineers. Software architects (Software Architect) - from designers (System Designer) and software developers (Software Developer) as they gain experience and broaden their horizons. This circumstance allows the HR specialist to effectively use the internal resources of the company.

Intersection, merging and evolution of production roles

There is another difficult issue from the point of view of implementation in the production process - the establishment of clear boundaries between roles. At first glance, it may seem that everything is obvious: the implementation has ended, the documents on putting the software into commercial operation have been signed, and everything has been transferred to technical support. That's right, but situations often arise when a client, out of habit, being in close contact with an analyst and seeing him as a "lifesaver", continues to actively communicate with him, despite the fact that the system has already been implemented and the support stage is formally underway . However, from the point of view of the client, who better and faster than the analyst who set the task together with him will answer questions about working with the system. And here the question arises of the partial duplication of the roles of a technical support engineer and an analyst. Over time, everything gets 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” cannot always be performed without stress on both sides.

Who is who in IT?

The intersection of the roles of the analyst and the technical support engineer also occurs when the flow of requirements for development goes as part of the maintenance phase. Returning to the software life cycle, we see a discrepancy between real production conditions and formal attitudes to the fact that requirements analysis and task setting can be performed exclusively by an 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 must be borne in mind that an 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 looking for technical support engineers, candidates with analyst experience may well be considered and vice versa.

In addition to the intersection, there is often a combination of production roles. For example, a business analyst and a technical writer can exist in the same 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 software configuration specialist has emerged. At an early historical stage, these were implementers, that is, engineers who spent most of their working time at customer workplaces. The increased volume and complexity of software has led to the emergence of the role of software architect (Software Architect). The requirements for speeding up the release of versions and improving the quality of software contributed to the development of automated testing and the emergence of a new role - a QA engineer (Quality Assurance Engineer), etc. The evolution of roles at all stages of the organization of the production process is largely associated with the development of methods, technologies and tools.

So, we have looked at some interesting points regarding the distribution of production roles within a software development company in the context of the software life cycle. Obviously, this is an inside view 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 employer brand, the 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.

Why is the "zoo" of IT positions bad?

Confusion in the minds of HR professionals, production managers and a variety of approaches lead to a very wide variety, directly "zoo" of IT positions. The experience of interviews and just professional contacts shows that often people do not have an unambiguous understanding of the semantic load that should follow from the title of the positions. For example, in our organization, positions that include the term "analyst engineer" suggest that this is a task manager. However, it turns out that this is not the case everywhere: there are development organizations where an analyst engineer is an implementer. Quite a different understanding, right?

Firstly, the "zoo" of IT positions, of course, reduces the effectiveness of recruitment. Each employer, when developing and promoting his brand, wants to briefly convey all the meanings that exist in its production. And if he himself often cannot clearly say who is who, it is natural that he will broadcast uncertainty into the external environment.

Secondly, the "zoo" of IT positions creates huge problems in the training and development of IT personnel. Every serious IT company that aims to form and develop human resources, and not just "milk" work sites, sooner or later encounters the need to interact with educational institutions. For highly qualified IT personnel, this is a segment of universities, moreover, the best ones, at least those in the TOP-100 rating.

The problem of integration with universities when building a continuous process of training IT specialists is about half the lack of understanding among universities of who is who within an 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 people are programmers.

The experience of our close cooperation with universities shows that the specialty "Applied Informatics (by industry)" supplies us with personnel for the departments of methodology and technical support, but not development. While "Fundamental Informatics", "Software Engineering" prepare an excellent human resource for developers. In order not to send 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 inside and outside the company?

Of course, it is possible and necessary, because the accumulated collective experience of all development enterprises demonstrates the existence of common, unifying concepts for organizing the production process. This is a consequence of the fact that there is still a concept of the software life cycle that is unambiguously interpreted by everyone, and the newly emerging production roles (DataScientist, QA-Engineer, MachineLearning Engineer, etc.) are a consequence 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 most rapidly developing sectors of the economy. In a sense, it is the chaos from which the universe emerged. 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, he is a “lyricist”-creator, carrier and promoter of ideas. He, like the artist, does not have a clear plan for painting a picture, he cannot decompose the image into parts, since the latter will cease 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 HR work in the context of a variety of IT production roles.

Firstly, any HR specialist of an IT company should have an idea of ​​the situation that is typical for his company: who does what, who and what they are called, and most importantly, what is the meaning of these roles in a particular production environment.

Secondly, the HR specialist must have a flexible understanding of production roles. That is, initially he forms an ideal understanding about them, which allows him to understand everything himself. Then there must be a real picture of production: where and in what roles intersect, are combined, what is the perception of these roles among production managers. The difficulty for a personnel specialist is to combine the real and ideal situations in the mind, not to try to forcibly rebuild processes for their ideal understanding, but to help production meet the need for resources.

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

Fourth, let's return to the thesis that IT is a sphere of highly qualified personnel, where early integration with the university educational environment is inevitable for more efficient personnel work. In this situation, each HR specialist must develop not only the skills of direct search, work with questionnaires and interviews, but also be sure to navigate the environment of university training of specialists: which universities train personnel for the company, which specialties within specific universities cover staffing needs, and what it is important who is behind this, who manages and trains specialists in universities.

Thus, if we purposefully debunk the myth that all IT specialists are programmers, it is necessary to take a number of steps in this direction and pay special attention to our universities, where the foundations for the perception of the future profession are laid. In other words, you need constant interaction with the educational environment, for example, using the modern format of collaboration in co-working centers, “boiling points”, participation in educational intensives. This will allow us to destroy misconceptions about the IT enterprise, increase the efficiency of personnel work and create 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.

Source: habr.com

Add a comment