Code

Interview with Alexey Troshin and Dmitry Simonov

Interview with Alexey Troshin and Dmitry Simonov

Free course: "Quick Start in Python"

Learn more

In the interview, Dmitry and Alexey discussed important topics related to current issues in their field. They shared their views on the trends and challenges facing the industry. Dmitry noted the importance of innovative approaches, while Alexey emphasized the need for continuous learning and adaptation to changing market conditions. This interview has become a valuable source of information for professionals striving to stay abreast of the latest developments and find effective solutions in their work.

  • What is the difference between a team lead, a manager, and a project manager;
  • How did the team lead profession originate;
  • What competencies does their work consist of;
  • How to effectively involve newcomers in processes;
  • Why is it important for a team lead to discover the psychologist within themselves;
  • Why experienced team leads participate in conferences and teach courses.

A summary is a concise summary of the key aspects of a topic. In this context, it serves to quickly familiarize the reader with the main facts and data. A summary may include important dates, key events, key terms, and definitions to provide a deeper understanding of the subject matter. The main goal of such a reference is to provide the reader with the necessary context and understanding of the topic so that they can easily navigate the subsequent material.

Dmitry Simonov and Alexey Troshin are the authors of the TeamLead course. This course is aimed at developing team management skills and improving teamwork efficiency. The participation of experts like Simonov and Troshin ensures high-quality content and practical recommendations, making the course a valuable resource for future team leaders.

Dmitry Simonov has experience building teams for startups in fintech, telecommunications, and advertising. He has worked at such well-known companies as Yandex, Mail.ru, and Rambler.ru. Dmitry is also the organizer of the "Technical Director's Day" event, which brings together professionals in technology and management.

Alexey Troshin is the head of the IT development department at Finam. Since 2009, he has been actively implementing the Agile philosophy in development processes. Under his leadership, projects such as Avto.ru and Banki.ru, as well as other significant IT initiatives, were successfully implemented. Alexey Troshin has extensive experience in team management and workflow optimization, which contributes to increased development efficiency and the achievement of set goals.

"A team lead is not the alpha male they are considered to be"

A team lead is a key figure in the team, responsible for leading and coordinating the work of the development team. The team lead's primary responsibilities include project management, task allocation, and ensuring effective communication between team members. A team lead must possess not only technical knowledge but also management skills to successfully resolve emerging issues and ensure project delivery on time. An important aspect of a team lead's work is supporting the professional growth of team members and creating the conditions for their development. Choosing the right team lead improves productivity and the quality of the team's work, which in turn affects the success of the entire project.

Alexey: The team lead is a key figure in the team. They act as a mentor and coach, providing a comfortable environment for employees and promoting their professional development. The team lead is also responsible for completing tasks within the established deadlines. Typically, trusted individuals who are willing to take responsibility for the final result are appointed to this position. An effective team lead not only manages projects but also creates a positive atmosphere, which contributes to increased team productivity.

A team lead should not be confused with an alpha male, as they are sometimes described. An alpha male is associated with dominance, strength, and a vocal demeanor. However, the role of a team lead is not to assert their power, but to support and develop the team. They do not seek personal gain or the spotlight. On the contrary, a team lead accepts responsibility, helps their team cope with difficulties, and effectively resolves problems that arise. The team lead's primary responsibility is to create a harmonious working atmosphere and ensure the success of the team as a whole.

The difference between a team lead, tech lead, project manager, and project manager lies in their roles and responsibilities within the team and organization. A team lead, or team leader, is responsible for leading and coordinating the work of the development team, ensuring task completion and maintaining communication within the team. A tech lead, or technical leader, focuses on the technical aspects of the project, making key decisions on architecture and technology, and helping the team solve complex technical problems. A project manager is responsible for planning, organizing, and monitoring project execution, including managing risks, deadlines, and budgets. A project manager typically holds a more senior position and may be involved in several projects simultaneously, providing strategic direction and stakeholder engagement. Understanding these roles helps effectively organize workflows and achieve project goals.

A project manager is responsible for managing and tracking the status of a project, but does not have the authority to make key decisions. These decisions are made by the project manager, who is responsible for the entire project. A team lead focuses on team management, process control, and meeting deadlines, while a tech lead is responsible for technical aspects such as technology stack selection and architecture design. The interaction of these roles ensures the successful completion of a project and the achievement of its goals.

Dmitry: To understand the roles of team lead, tech lead, developer, and analyst, it's important to consider their historical development. These roles evolved from a single responsibility, where one person performed all functions. As projects grew and their complexity increased, the need for specialization arose. The team lead became responsible for team management and process coordination, the tech lead focused on technical solutions and architecture, the developer handled direct coding, and the analyst analyzed requirements and interacted with customers. This differentiation of roles allows for increased efficiency and improved product quality.

Interesting. Every day brings new discoveries and opportunities. We live in the information age, where every event can become a source of knowledge. It's important to be able to extract useful information from the world around us and share it with others. An interest in new ideas and technologies fosters personal and professional development. Be open to new knowledge, explore unusual topics, and don't be afraid to ask questions. This will help you stay on top of current trends and expand your horizons. Interest is the key to learning and self-improvement.

Dmitry: Lesha and I took different approaches to our professions. I'm a practitioner, and my career began during a period when every business needed a versatile specialist who could quickly and effectively solve problems.

When the trees were tall and the projects were small, the "boy" was actively handling tasks. He did layout (there were no front-end developers back then), programmed the layout (there were no back-end developers either), and designed pages without the help of designers. As the market grew, the "boy"'s responsibilities accumulated, and he began to experience physical difficulties in completing all the tasks. As a result, roles began to be divided: designers, programmers, and then analysts, including systems and business analysts, emerged. This is how working teams were formed, which improved the quality of projects and optimized development processes.

Who could this "boy" become in the future?

Various levels of management play a key role in project management. At the highest level are specialists such as the Chief Technology Officer (CTO) and Chief Information Officer (CIO), who provide strategic leadership and coordinate all processes. At a lower level is the team lead, who is responsible for direct team management and project implementation. The team lead's primary responsibility is to successfully implement the project, overcome any challenges that arise, and ensure that goals are met. Effective communication between these management levels is critical to achieving successful project results. The team lead must clearly understand their goal and strategy for achieving success while minimizing losses. The team is the primary resource in this process. An experienced leader manages employee expectations, develops their soft and hard skills, and maintains their motivation. Each team member has unique needs: some strive to earn more to pay off their mortgage, others want to gain the team's trust, and others, conversely, fear losing it. It's important for a team lead to be able to consider these individual aspects and guide the team toward a common goal.

Many believe that a team lead can work exclusively in development. However, this belief limits the understanding of the team lead's role. A team lead is not only the leader of a technical team but also someone capable of managing processes, communication, and employee development in various areas. It's important to understand that management, organization, and team motivation skills are relevant not only to IT but to many other professions as well. A team lead can effectively work in marketing, sales, design, and other areas where it's necessary to coordinate the team's activities, achieve goals, and ensure high-quality completion of tasks. Therefore, the team lead role is universal and in demand across a wide range of industries.

Alexey: A team lead isn't always associated exclusively with development. Analysts have their own team leads, and testers have their own. Competencies vary depending on the field, and we're mainly talking about different hard skills. In development, coding knowledge is essential, and in analytics, an understanding of systems analysis is crucial. However, the basic skills remain common across all disciplines. This includes the ability to select the right candidate during interviews, evaluate their performance, apply internal methodologies and know-how, and effectively share knowledge within the team.

Dmitry: It's important for a team lead to clearly understand their duties and responsibilities. However, in practice, difficulties often arise because many companies misinterpret roles and functions. Often, someone appointed to a technical leadership position is faced with tasks that extend beyond their role, such as overseeing employee professional development and hiring and firing processes—effectively fulfilling the functions of a team lead. Therefore, it is crucial to discuss both parties' expectations and specific responsibilities in interviews in advance to avoid misunderstandings and ensure the team works effectively.

Dmitry Simonov speaks at the "Technical Director Day" celebration in St. Petersburg. He organized the event himself.

Team Lead Tasks: Specific Examples

The team lead's job includes many tasks, each of which plays a key role in the team's success. One of the main tasks is coordinating the team's work, which involves distributing tasks among members, monitoring their implementation, and ensuring that deadlines are met. For example, a team lead can determine which developer will work on a specific task, then monitor progress and help resolve any issues that arise.

Another important task is conducting regular meetings and discussions. The team lead organizes meetings to share information, analyze current results, and plan future steps. This not only helps maintain team spirit but also identify potential problems early.

The team lead is also responsible for team development and training. They should identify the strengths and weaknesses of members, provide feedback, and organize training or mentoring. For example, if one of the developers is struggling with new technologies, the team lead can suggest that they take a course or work under the supervision of a more experienced colleague.

Furthermore, the team lead plays an important role in communication between the team and the company's management. They must communicate the progress, problems, and needs of their team to senior management. This requires effective communication skills and the ability to represent the team's interests.

Finally, the team lead must be a role model for their team, demonstrating professionalism and motivation. Their behavior and attitude towards work can significantly impact the team's atmosphere and its productivity. Therefore, the team lead's work is a multifaceted activity that requires both technical and managerial skills.

Dmitry: I view the team lead's role as a multi-level structure. At the lower level, the focus is on interaction with the team, at the next level - on planning tasks and processes, and at the highest level - on strategic interaction with the business. This approach allows for effective project management and the achievement of goals.

Effective team collaboration and short-term planning are key aspects of successful project management. Teamwork requires clear communication and alignment among all participants. Short-term planning allows for a prompt response to changes and the adaptation of strategies to current tasks.

When organizing a team, it is important to define the roles and responsibilities of each member, which facilitates more efficient task completion. Using collaboration tools such as online calendars and project management systems can significantly simplify the coordination process.

Short-term planning involves setting specific goals for the immediate period, allowing the team to focus on achieving results. Regular meetings to discuss progress and identify potential problems will help maintain a high level of motivation and engagement among members.

Ultimately, teamwork and short-term planning play a vital role in achieving shared goals and improving team effectiveness. Investing time in developing these skills will ensure successful project completion and the achievement of set objectives.

At this stage, the team lead focuses on sprint management. They begin with planning, during which they create a backlog of tasks. Then, the team lead organizes a project demonstration to showcase the results achieved. Finally, they summarize the sprint, analyzing the completed tasks and identifying areas for further work.

The team lead must remember that each sprint has its own unique goals. To achieve these, they manage the team's work and ensure that the established course is followed. The first significant success of the team lead is the team completing the planned volume of work. Not many team leads achieve this, which emphasizes the importance of effective management and clear communication within the team. Proper leadership and the ability to adapt to change are key factors in successfully completing sprint tasks.

Medium-term planning and global task control play a key role in the successful implementation of strategies. Effective management of these processes allows organizations to adapt to changes in the external and internal environments. Medium-term planning involves setting clear goals and objectives, as well as determining the resources needed to achieve them. Global task control helps track progress and make adjustments to plans, ensuring the achievement of goals. It is important that the planning process be flexible and take into account possible risks and uncertainties. Thus, high-quality medium-term planning and effective global task control contribute to sustainable development and increased competitiveness of the company.

At the next level, the team lead actively collaborates with product and project managers, analyzing the team's performance in advance. For example, if two teams failed to achieve their goals in the previous sprint, it is necessary to develop a strategy to address the consequences of this unsuccessful experience and improve results in the next sprint. This approach not only identifies weaknesses but also implements effective solutions to improve team productivity and achieve successful results.

The team has an important goal, which the team lead aligns with the business. For example, within a year, it is necessary to achieve key performance indicators (KPIs) and double the service capacity. The team lead also considers how their actions can contribute to achieving the company's global objectives.

Working with the business encompasses many aspects, from financial management to strategic planning. Effective interaction with clients and partners is paramount to the company's successful functioning. It is essential to study the market, analyze competitors, and adapt your offerings to the needs of your target audience. Furthermore, optimizing internal processes and implementing modern technologies can significantly increase productivity and reduce costs. A successful business requires continuous training and development, so it is essential to invest in employee development and the implementation of innovative solutions. Building strong relationships with clients and partners, as well as effective resource management, contribute to the long-term success and development of the company.

The team always strives to achieve high results. However, if results don't meet expectations, this can lead to dissatisfaction on the part of the business. There's a rule: the higher the expectations, the less impact the results achieve. Therefore, it's important for the team leader to maintain constant communication with stakeholders who evaluate the team's work. Regularly clarifying their expectations and needs is essential to promptly adjust the direction of work and avoid misunderstandings. This will improve collaboration and increase the satisfaction of all stakeholders.

Alexey emphasizes that when discussing the role of a team leader, an important aspect is often overlooked: people management. Effective team management involves not only technical skills but also the ability to understand, support, and develop team members. People are the most important resource, and a successful team leader must be able to create a comfortable atmosphere conducive to growth and productivity. Without due attention to people management, team performance can suffer, which ultimately affects the overall project outcome.

People management is an important aspect of HR management, which includes effective interaction with employees, their development, and support. This helps increase employee engagement, improve team spirit, and, as a result, boost company productivity. In today's business environment, where human capital is becoming a key resource, a sound approach to people management is especially crucial. It's crucial not only to improve communication but also to create conditions for employee professional growth, which helps reduce turnover and improve the overall efficiency of the organization.

Alexey notes that the addition of an intern or a vacancy creates additional workload for the team lead. They must oversee the integration of new team members and monitor ongoing processes and tasks. Constantly analyzing the team's current situation becomes an essential part of their work, requiring significant effort and attention.

An interesting observation is that a developer spends 70-80% of their time completing their tasks, while a team lead can allocate only 50-70%. If the team lead has a large team and complex clients, this figure can drop to 20%. The rest of the time, the team lead is busy evaluating incoming tasks and distributing them. This highlights the importance of effective project management and developing strategies to optimize team workflow.

Alexey Troshin speaks at the annual Index Tech conference for IT and HR in 2019

When an intern or junior joins a team, it is important to properly engage them in work processes. To begin, create a comfortable environment where newcomers can ask questions and receive support. Assign a mentor to help the intern adapt and develop the necessary skills. Regular meetings and feedback will help the newcomer understand how they are handling tasks and where they need to improve. Include the intern in team discussions and projects so they feel valued and can learn by doing. Remember that learning is a process that takes time, so it is important to be patient and supportive at every stage.

Alexey: These employees have minimal work experience. They do not possess the full range of knowledge and skills required to perform complex tasks. Therefore, it is best to provide simple, clear, low-risk tasks for such employees. Avoid assigning them tasks related to problem-solving that require analyzing the situation and choosing the optimal solution—this is a task for more experienced specialists.

Monitoring juniors and interns is an important part of their training and development. Regularly ask them open-ended questions, such as "How do you plan to solve this problem?" or "What do you think the deadline for this task will be?" These questions foster critical thinking and help young professionals better understand their actions and approaches to problem solving. This method of interaction not only deepens their understanding of the process but also develops skills in independent work and responsibility.

Closed questions have their drawbacks that should be considered. They limit the opportunity for a detailed answer, providing the respondent with a choice only from predetermined options. This can lead to insufficient information and not provide a full understanding of the opinions or feelings of the interviewee. Using closed questions can narrow the discussion and not contribute to a deeper understanding of the topic. For more productive communication and obtaining valuable information, consider using open-ended questions that allow respondents to express their thoughts more freely and in detail. However, closed-ended questions can be useful in certain situations, such as obtaining specific data or conducting surveys.

Alexey: Newcomers often answer "yes" out of fear of appearing incompetent or lagging behind others. This behavior may be due to their internal insecurity. When they successfully complete simple tasks, it is important to gradually give them more freedom and responsibility. This will help build their confidence and develop the skills needed to tackle more complex tasks.

Completing technical documentation is an important aspect of a junior developer's work. It helps them adapt to the team's processes and assimilate the corporate culture more quickly. If you have knowledge or ideas, it is worth writing them down rather than leaving them in your head. This approach not only speeds up the integration process into the team but also promotes more effective information sharing and increases overall productivity.

Dmitry: I like the approach of describing the essence of the problem and all its specifics in detail. It is important to explain the solution algorithm and then let the specialist go on their own. When a newcomer returns, I review their every step. If they've completed the task successfully, I give them the task without a detailed algorithm next time—I'll see if they can solve it on their own. If not, we return to the initial steps. If they can handle it, I gradually make the tasks more challenging until I can simply say, "Vasya, the server is down, please fix it." This method effectively develops the specialist's skills and confidence.

Detailed task setting for a team lead requires a significant investment of time, but it significantly contributes to employee development. Clearly defining goals and expectations contributes to increased team effectiveness and helps each team member better understand their responsibilities. This, in turn, leads to professional growth and increased overall productivity. By investing time in creating clear and structured tasks, companies can achieve better results and increase employee satisfaction.

The question of how to become a team lead is often discussed among specialists. Traditionally, it is believed that only a middle or senior manager can advance to a team lead. However, there are other paths to this role.

One alternative is to transition from related fields, such as project management or analytics. These specialties allow you to develop team management and client interaction skills, which are also important for a team lead.

It's also worth noting that a desire to develop and learn is an important aspect. Team leads must possess leadership qualities and the ability to motivate a team. Therefore, if you start your career at the entry-level, focus on developing these skills, and you can reach the position of team lead, regardless of your current level.

Therefore, although the path from a middle or senior developer is the most common, you should not limit yourself and your career to only this option. Opportunities for growth and development are many, and they are open to those who are ready for change and new challenges.

Alexey: Of course, a junior developer will not become a team lead instantly. However, growth is possible for those who actively strive for development. People who propose process improvements, reflect on their technical progress, attend conferences, and read specialized resources like Habr have every chance of successful advancement. It's important not only to acquire new knowledge but also to immediately apply it to achieve career goals. Active team leads are the fastest-growing specialists in their field. They are the first to come to mind when openings and positions arise. Their initiative and desire to develop make them attractive candidates for career advancement. Sometimes companies prefer to search for team lead candidates from outside their team rather than promote existing employees. This can happen for various reasons, including the need for a fresh perspective on management, specific competencies, or experience that current team members may lack. This approach can also help avoid potential conflicts related to internal politics. However, it's important that the new team lead can effectively integrate into the existing team and create a positive atmosphere for collaboration.

In my management experience, I often encounter situations where employees are coping with their tasks but require constant monitoring and setting new goals. This leads to me having to figure out their development plans for them, which isn't the best approach. I'm much more comfortable working with proactive employees, as this allows me to guide their initiatives in the best interests of the company. It is important to create a work environment where employees feel motivated and able to take initiative, which ultimately contributes to the overall success of the organization.

Alexey at the AgileDays conference on flexible management in 2018
Dmitry at the “Technical Day” holiday in St. Petersburg