What soft skills do developers need? Opinions from Yandex

Soon the big student Olympiad ā€œI am a professionalā€ will begin. It has been going online for several years now. Students of various specialties, including technical ones, can participate. The competition is organized by 26 leading universities: HSE, Moscow State University, MSTU, Moscow Institute of Physics and Technology, Moscow Engineering Physics Institute, St. Petersburg State University, ITMO University and others.



Yandex is a technical partner of the project. For us, ā€œI am a professionalā€ for the second year in a row has become a good reason to talk about the importance of soft skills (flexible skills) in the work of developers and other specialists. A year ago, in our Moscow office, a meeting was held for participants in the Olympiad, dedicated to soft skills. Sergey Brazhnik, head of the Yandex development office in Novosibirsk, spoke about them, speaking at a training included in the program ā€œI am a professionalā€. Today Sergey and two other executives in Yandex - Anna Fedosova and Oleg Mokhov Olegbl4 - will tell Habr about flexible skills: what kind of skills are there, which ones are needed by the developer, where to get them and how their presence affects the growth in the company.



Sergey Brazhnik, head of the development office in Novosibirsk, director for the development of regional educational projects







ā€œFor a developer, 4K is important: critical thinking, creativity, cooperation and communication. It is generally accepted that communication in this profession is not an important skill, but if you think about it, it is necessary for professional growth: you need to be able to ask questions, listen to and hear an interlocutor, explain your point of view and accept someone else's, speak and agree. An intern may not be able to work in a team or think critically - and this is normal, because he does not yet have such a background.



If an already mature specialist comes to us for an interview, then we evaluate all these skills during a conversation. We look at how a person talks about himself. We ask leading questions along the way and clarify a lot. We check critical thinking on tasks. On the one hand, it is important for us that he solve them; on the other, we look at how he solves them.



A developer who already works for the company has two ways to determine what skills are missing. The first is to request a feedback from the manager. If you are not told anything, this does not mean that everything is fine. You doubt it - ask again. For current tasks and business goals, managers can forget about the software area - it is important to remind them of it. The second way - you can try to evaluate yourself relative to other colleagues in the team, for example, during the brainstorms, when everyone throws ideas and then discuss them, criticize them.



Suppose you understand what skills you lack. This is the first and most important step - to realize that yes, indeed, something is failing here for me. Further, ideally, find a mentor - at least a friend who has developed these skills. You can just watch the other. And if you find a mentor, then he is able to give advice and monitor your growth. The mentor can be your colleague (itā€™s immediately clear why he needs supervision - you work for the same goal) or sometimes even an external expert (but this is usually your acquaintance, otherwise his motivation is not clear). Books, lectures, trainings are also an option, but in this way you will receive only knowledge. For knowledge to turn into a skill, regular practice is needed.



Communicative skills are excellently pumped during stand-ups - daily short planning meetings where each team member tells what he is working on now. Any public speaking is also helpful. And try to communicate more with colleagues and share experience within the team.



If you need to choose a team leader between a technical project manager and a developer, there is no definite answer which of them is better. At us in Yandex even a project, as a rule, can write code. Therefore, I would first compare the manager and developer in several ways: how they can set tasks and control execution, how they drive the team, and in general, what kind of relationship they have with the team. It happens that a person sets tasks well and monitors deadlines, but at the same time gets along worse with the team. It all depends on who makes the decision. Anyone who was a developer himself, and not a manager, is more likely to choose another developer as the leader.



On some hard skills you can become a team leader - there have been cases. But the leaders who move such a person into team leaders must be beaten hand. Because he, learning in the process, will break so much firewood that the team will be demotivated. Then it all depends on how strong the guys are. Or they will wait until a person grows up and realizes what is happening. Or do not wait and start to scatter.



If you still make the hardcore developer a leader, you must first prepare him hard and then be sure to mentor the first three to six months.


Anna Fedosova, Head of Training and Development







- It is difficult to make a complete list of skills. So, the Lominger competency model includes 67 positions. Inside Yandex, we divide the skills into universal and those that managers need.



Universal skills relate to personal effectiveness and interaction with others. Personal effectiveness is associated, for example, with the ability to manage yourself, your time, work processes, result orientation, critical thinking, and the ability to learn. What distinguishes the modern economy from the economy of thirty years ago is that you are unlikely to do the same thing all your life. Most likely, something will change, and we must be prepared for this.



Another group of universal skills is associated with communication with other people. We no longer live in the time of assembly line production. Whatever you do, you will most likely have to negotiate and discuss this with other people. The communication process in this case becomes very important. In IT companies, where the planning horizon is very small due to the constant development of technology, even technical specialists have to make many collective decisions that are born in the discussion process. And employees cannot let the negotiations come to a standstill, otherwise the work will simply rise.



A separate large layer is the skills for leaders . These include the ability to set and evaluate tasks, motivate others and develop themselves, be a leader, build your team and interact with other teams.



In Yandex, flexible skills training programs are designed so that employees can work through various situations in a safe environment. These may be situations that they have not encountered before, or specific cases from their practice in which they would like to get the best result. You can work a lot, from hiring new people and setting goals, to conflicts of interest and issues of motivation. As a rule, situations of misunderstanding between an employee and a manager are difficult for both parties, but you can learn how to deal with them.



You can apply different teaching methods. So, it's pretty hard to learn teamwork. At school, we are taught to work individually, grades put for personal academic success. But it is in a team that people learn to take responsibility, distribute roles among themselves, and agree on common goals and results. And often it turns out that this has to be taught already in adulthood at work. Now some schools practice including project training and joint assignments. This should help to learn teamwork from childhood.



How to teach adults to learn and independently acquire knowledge? Sometimes the experience of getting a higher education helps. Graduate and graduate students are taught to understand what is important and what does not matter, where to look for relevant knowledge. But often this has to be mastered already in the process of work. Unsurprisingly, one of the most popular courses on Coursera is called Learning how to learn .



There is nothing more useful for training than to get to know yourself better: to look at yourself from the side using the feedback received from colleagues, once again think about what works well and what is not good, find people that you want to be like, and compare yourself with them.



It should be remembered that motivation is at the core of everything. If you understand that you are unsociable, but you need to change it, for example, it is important for the team, then both motivation and the need to change will appear. If at work you do not need to communicate with anyone, then why step over yourself?


Oleg Mokhov, head of HR-projects development and Yandex.Contest service, which hosts the online part of the Olympiad







- Developers without the ambitions of team lead soft skills are not really needed. It is important to be able to ask questions, listen, convey your thoughts. To pump these skills, you can make a presentation at the conference or lecture at the university. We all once studied, which means we can teach someone ourselves. Students, infections, ask the most undercover questions. The ability to quickly answer them, the hanging of the tongue helps you stay calm in heated discussions.



Books do not help with soft skills. Trainings only help if you attend them regularly. But itā€™s very useful to come to the conference and take an active position. Just ask questions to the speaker.



At interviews, I sometimes question even the candidateā€™s correct answer - Iā€™m watching how he thinks. But this only works if the person is self-confident. In general, it is better to analyze soft skills at the final interviews. For example, please tell us about the most interesting task that the candidate did. So you can find out what is more interesting for a person - to code, research, get a result or communicate.



Many who have wildly developed soft skills become high-ranking executives who have meetings all day long. How to maintain coding skills? You say to yourself: I program for two hours. Cut off all the notifications, phone, the only way. I know the leaders who do this. Well, to interview, conduct technical sections - also helps the brain to develop. In Yandex, you just ceased to be a junior, and you will already be attracted to an interview. It's like a tax on the fact that you work in a large company.



If you need to choose a team leader between a manager and a developer, then it all depends on the future responsibilities of the leader. Itā€™s one thing if the manager himself was once a developer. Then he has more chances. Other, if it is a universal project. He interacts with the backend team, frontend, designers, analysts. But he does not know how a particular library works in the frontend, he is not familiar with asynchronous programming in the backend, he does not imagine why it is difficult. The growth of the developer is an immersion in depth. And the essence of management is to collect the surface layer, understand the problem and set up communications, processes. Therefore, I believe that most likely the manager will not be able to pump development skills in people.



To the person from the side, the team may have hostility. So I would choose a leader from among the developers themselves, and perhaps I would not choose the most powerful of them. Suppose a person worked for five years, now he is a senior developer, but over the past five years he has only grown hard and software does not grow. Then I canā€™t expect them to grow sharply if I give him a position. But when the developer has been working for a year, but I see that his language is well suspended, he communicates, can connect several people, resolve the conflict between them - this is a team lead for me, even if he is not a senior developer.



In history, when a person becomes a leader on some hard skills, I do not believe. Timlid without software most likely does not fulfill its function somewhere. When can this work? When subordinates are self-sufficient. I have a catch phrase for new leaders: seals are easy to manage. Timlids get frustrated when they have complex cases - one employee wants to quit, the other chills and becomes less formal, the third is conflict. I say this to their team leader - rejoice, you first need to work as a leader. Because seals - here they meow, good-natured, funny - they are very easy to manage.



All Articles