JavaRush/Java Blog/Random EN/Genius, programmer, strategist, manager. Who is a Tech Le...

Genius, programmer, strategist, manager. Who is a Tech Lead and how to become one?

Published in the Random EN group
members
In the field of software development and in the IT industry in general, there are many positions that are called differently, but are partially or largely similar in the content of the work. Even if we talk about specialties that are directly related to development, there are positions such as Senior Developer, Technical Lead, Architect, Engineering Manager and a number of others. Often what these specialists do is interpreted differently depending on the company and team. We try, whenever possible, to analyze each of the main positions of this kind, describing its essence, the required skills and general perspectives. Genius, programmer, strategist, manager.  Who is a Tech Lead and how to become one?  - 1Today it’s the turn of Technical Leads. And there really is a lot to talk about here, so let's get started. Genius, programmer, strategist, manager.  Who is a Tech Lead and how to become one?  - 2

Who is a Tech Lead?

In short, this is one of the most experienced developers in the company, who manages the development team and is responsible for the quality of all technical work on the project. In a little more detail, one of the main functions of an effective Tech Lead is to formulate a vision for the technical part of the project for the development team and implement it together with other team members. This is where the Tech Lead role differs from other overlapping positions such as Team Lead, Software Engineering Manager, and Architect. We'll talk about the differences in a little more detail later. The essence of the Tech Lead position is understood differently everywhere, and this is normal, given the youth of the entire development industry and its constant transformation. Here's what Jeff Carouth, an experienced developer and Tech Lead at Ziff Media Group, says about this : “Someone will tell you that a technical lead is almost the same thing as a software architect, only the Tech Lead is not directly writing code. Others believe that tech leads are middle-level managers who were originally ordinary developers. There will also be those who will say that technical leads are usually simply the most experienced and powerful developers in the company, who are appointed to this position due to their real contribution to the technical part of the work on the project. To me, a tech lead is someone who has extensive experience as a developer and has already demonstrated the ability to communicate effectively not only with other programmers, but with everyone else, including product managers, company management, designers, advertisers and everyone else.” Very comprehensive.

What is the Tech Lead function?

Tech Lead, who in different companies can also be called TechManager, Lead Platform Engineer, Head Architect of Development or something else, depending on the wild imagination of management, is usually responsible for the implementation of the technical part of the project. This is the person who has the last word in the development team and is also responsible for errors and problems in the project. The essence of the Tech Lead function in the company was summed up very well by Amr Noaman, the creator and head of the Agile Academy: “The main and main responsibility of this person in any organization is the technical implementation of the product.” In short and more specifically, the list of the main functions of a “correct” Tech Lead will be something like this:
  • Preparation of a strategy for the technical development of a project or part of it, adaptation and adjustment of this strategy depending on the requirements and circumstances.
  • Encouraging healthy debate and discussion within the team and facilitating the decision-making process.
  • Working to eliminate problems and factors that may be preventing team members from working effectively.
  • Identifying and finding solutions to problems that arise during the development process, and preferably, predicting and eliminating the causes of these problems before they appear.
  • Delegating tasks and responsibilities for different parts of the project to other team members.
Genius, programmer, strategist, manager.  Who is a Tech Lead and how to become one?  - 3

Do IT companies need Tech Leads?

As is usual in the industry, there is no consensus on this issue either. For example, Vinicius Gomes, a developer at ThoughtWorks, argues that the Tech Lead position is often problematic and should be eliminated altogether. In his opinion, which has quite significant support in development circles, this position in most cases involves the amount of work for several people, which is why the team structure often suffers. Therefore, Gomez believes, it is better to eliminate the Tech Lead position altogether by adjusting the management structure so that different members of the development team can distribute different roles among themselves. This will allow the team to work more efficiently. However, most developers still believe that the Tech Lead position is necessary and important, if, of course, the tech lead knows the job well and performs his functions correctly. Genius, programmer, strategist, manager.  Who is a Tech Lead and how to become one?  - 4

What does a good Tech Lead look like?

Therefore, let's understand what a good and correct Tech Lead should be and what he can and should give to the team.
  • Organizing efficient and coordinated work of the development team.

    This is what most people think a Tech Lead's job is: doing whatever is necessary to ensure that the development team does its job most effectively. In this, the functions of the Tech Lead overlap with the responsibilities of the Team Lead and Lead Engineer, with the only difference being that the Tech Lead must be responsible for the overall process and final results. Therefore, having a Tech Lead generally only makes sense in cases where the development team is large enough and the project it is working on is quite complex and large-scale.

    The good work of a Tech Lead leads to the fact that the entire team works correctly and harmoniously, as a single mechanism, delivering the desired product within the planned time frame.

  • Formation of a motivated team of developers and management.

    Although at first glance this point is not much different from the previous one, in this case we are talking about that part of the organization of teamwork that relates to communications between team members, motivation, coaching, and in general everything else that does not apply to technical work.

    This is the managerial part of the task and, at the same time, the part that many technical leads tend to avoid or do not consider it necessary to pay attention to it, because they consider it less important and secondary. However, practice shows that such things as motivation, personal approach, coaching, motivation and creating a friendly atmosphere in the team still play a fairly important role (even if they cannot compensate for problems with the technical part), and are reflected in the final result in the most direct way.

  • Coordination and balancing of efforts.

    Coordination means that not only does the development team work smoothly and efficiently, but its work is also well coordinated with other departments. To do this, an effective Tech Lead must not only understand the needs of developers, but also be able to look at the work through the eyes of other company specialists.

  • Responsible for all successes and failures of the development team.

    Also, a good Tech Lead, being the main strategist and tactician in one person, knows how to take responsibility both for successes in work and for failures or errors that inevitably arise during the implementation of a particular project.

What does a good Tech Lead do and how to become one?

Now let's go a little more specific and look at what work technical leads do to achieve the goals discussed in the previous section.
  • Development methodology.

    What exactly the development methodology should be will greatly depend on the goals of the project, the resources available to the team, timelines, management and a number of other things. But developing a methodology is precisely one of the main tasks of a technical lead. It is he who decides how often new versions should be released, what should be implemented during the next development sprint, etc.

  • Technology stack.

    This aspect, which is extremely important for the overall success of the project, is also the responsibility of the technical leader. It may include a list of programming languages ​​that will be used to implement the project, as well as frameworks, data storage solutions, libraries, QA solutions, etc.

  • Software architecture.

    That area in which the powers of a technical lead directly intersect with the responsibilities of a software architect, but the Tech Lead in this case stands higher than a regular architect and is responsible for the final decisions and approaches to them.

  • Internal planning and distribution of areas of responsibility.

    Tech Lead, as a person responsible for the final result, must set deadlines for the delivery of certain parts of the project and determine areas of responsibility.

  • Timing of new releases.

    Despite the fact that this technical lead function was already mentioned in the previous section, it is worth highlighting as a separate item, because setting deadlines for new releases, as a rule, plays a very significant role in the life of any project.

  • Code Review Policy.

    Everything related to reviewing and reviewing code, or more precisely, choosing the main approaches to this process, is also the competence of the technical lead.

Salary prospects

And finally, the most delicious thing - how much specialists in Tech Lead positions usually earn, or, in other words, one of the main reasons why it makes sense (or doesn’t make sense, decide for yourself) to work a lot on yourself and your professional growth, in order to one day grow and become a proud and respected technical lead. According to the popular portal Glassdoor, the average global salary for Tech Lead positions is $78.6 thousand per year. In the US, according to the authoritative resource PayScale, the average tech lead earns about $101.4 thousand per year. Another popular resource, Salary.com, gives us a figure of $131 thousand per year, with an approximate range of $118 thousand to $145.5 thousand per year. In “our latitudes,” as you probably already guessed, the salaries of technical leaders are lower than the American ones and slightly lower than the world average. Thus, according to the DOU resource, in Ukraine in December 2019, the average technical lead earned about $4,400 per month. In Russia, according to the resource Trud.com, the salary of a technical lead can reach up to 400 thousand rubles per month ($5600).
Comments
  • Popular
  • New
  • Old
You must be signed in to leave a comment
This page doesn't have any comments yet