De quelles compétences générales un développeur a-t-il besoin ? Opinions de Yandex

La grande Olympiade étudiante va bientôt commencer "Je suis professionnel". Il fonctionne en ligne et hors ligne depuis plusieurs années maintenant. Les étudiants de diverses spécialités, notamment techniques, peuvent participer. L'Olympiade est organisée par 26 universités de premier plan : École supérieure d'économie de l'Université nationale de recherche, Université d'État de Moscou, Université technique d'État de Moscou, Institut de physique et de technologie de Moscou, MEPhI, Université d'État de Saint-Pétersbourg, Université ITMO et autres.

Yandex est le partenaire technique du projet. Pour nous, « Je suis un professionnel » est devenu une bonne occasion pour la deuxième année consécutive de parler de l'importance des soft skills (soft skills) dans le travail des développeurs et autres spécialistes. Il y a un an, notre bureau de Moscou a organisé une réunion pour les participants aux Olympiades consacrée aux compétences générales. Le chef du bureau de développement Yandex à Novossibirsk, Sergueï Brajnik, en a également parlé lors d'une session de formation incluse dans le programme «Je suis un professionnel». Aujourd'hui, Sergey et deux autres managers de Yandex - Anna Fedosova et Oleg Mokhov Olegbl4 — ils expliqueront à Habr les soft skills : ce qu'elles sont, lesquelles un développeur a besoin, où les trouver et comment leur présence affecte la croissance de l'entreprise.

Sergueï Brajnik, chef du bureau de développement de Novossibirsk, directeur du développement des projets éducatifs régionaux

De quelles compétences générales un développeur a-t-il besoin ? Opinions de Yandex

— Pour un développeur, les « 4K » sont importants : pensée critique, créativité, coopération et communication. Il est généralement admis que la communication dans ce métier n'est pas une compétence importante, mais si on y réfléchit, elle est nécessaire à l'évolution professionnelle : il faut être capable de poser des questions, d'écouter et d'entendre son interlocuteur, d'expliquer son point de vue et accepter celui de quelqu'un d'autre, parler et négocier. Le stagiaire peut ne pas être capable de travailler en équipe ou de penser de manière critique - et c'est normal, car il n'a pas encore une telle expérience.

Si un spécialiste déjà mature vient nous voir pour un entretien, nous évaluons alors toutes ces compétences au cours de la conversation. Nous regardons comment une personne parle d'elle-même. En cours de route, nous posons des questions suggestives et clarifions beaucoup de choses. Nous testons la pensée critique à l’aide de problèmes. D'une part, il est important pour nous qu'il les résolve, d'autre part, nous regardons comment il les résout exactement.

Pour un développeur qui travaille déjà dans une entreprise, il existe deux manières de déterminer les compétences qui lui manquent. La première consiste à demander des commentaires à votre responsable. S’ils ne vous disent rien, cela ne veut pas dire que tout va bien. Si vous en doutez, demandez à nouveau. Au milieu des tâches et des objectifs commerciaux actuels, les managers peuvent oublier l'orientation du logiciel - il est important de le leur rappeler. La deuxième façon est d'essayer de s'évaluer par rapport aux autres collègues de l'équipe, par exemple lors des brainstormings, lorsque tout le monde lance des idées, puis en discute et les critique.

Disons que vous comprenez quelles compétences vous manquent. C’est la première et la plus importante étape : réaliser que oui, effectivement, quelque chose ne va pas chez moi ici. Ensuite, trouvez idéalement un mentor – au moins un ami qui a développé ces compétences. Vous pouvez simplement regarder un ami. Et si vous trouvez un mentor, il saura vous conseiller et suivre votre évolution. Un mentor peut être votre collègue (la raison pour laquelle il a besoin d'être supervisé est immédiatement claire - vous travaillez vers le même objectif) ou parfois même un expert externe (mais il s'agit généralement de quelqu'un que vous connaissez, sinon sa motivation n'est pas claire). Les livres, les conférences, les formations sont également une option, mais de cette façon vous ne ferez qu'acquérir des connaissances. Pour que les connaissances se transforment en compétences, une pratique régulière est nécessaire.

Les compétences en communication sont grandement améliorées lors des stand-ups - de courtes réunions de planification quotidiennes, où chaque membre de l'équipe raconte sur quoi il travaille actuellement. Toute prise de parole en public est également utile. Et essayez de communiquer davantage avec vos collègues et de partager vos expériences au sein de l'équipe.

Si vous devez choisir un chef d'équipe entre un chef de projet technique et un développeur, il n'y a pas de réponse claire quant à savoir lequel est le meilleur. Dans Yandex, même un projet peut généralement écrire du code. Par conséquent, je comparerais d'abord le manager et le développeur selon plusieurs paramètres : comment ils savent définir les tâches et contrôler l'exécution, comment ils dirigent l'équipe, et en général quel type de relation ils entretiennent avec l'équipe. Il arrive qu'une personne définisse bien les tâches et surveille les délais, mais en même temps s'entend moins bien avec l'équipe. Tout dépend aussi de qui prend la décision. Quelqu'un qui était lui-même développeur plutôt que manager est plus susceptible de choisir un autre développeur comme manager.

Avec juste des compétences techniques, vous pouvez devenir chef d'équipe - il y a eu des cas. Mais les managers qui promeuvent une telle personne à la direction d’une équipe doivent être réprimandés. Car lui, en apprenant au fur et à mesure, va tellement gâcher que l’équipe sera démotivée. Ensuite, tout dépend de la force des gars. Ou bien ils attendront que la personne grandisse et réalise ce qui se passe. Ou alors ils n’attendront pas et ne commenceront pas à s’enfuir.

Si vous faites toujours d'un développeur inconditionnel un manager, vous devez d'abord le préparer minutieusement, puis vous assurer de l'encadrer pendant les trois à six premiers mois.

Anna Fedosova, chef du département de formation et de développement

De quelles compétences générales un développeur a-t-il besoin ? Opinions de Yandex

— Il est difficile de dresser une liste complète des compétences. Ainsi, le modèle de compétences Lominger comprend 67 postes. Au sein de Yandex, nous divisons les compétences universelles et celles dont les managers ont besoin.

Compétences universelles associé à l’efficacité personnelle et à l’interaction avec les autres. L’efficacité personnelle est associée, par exemple, à la capacité de gérer soi-même, son temps, ses processus de travail, l’orientation vers les résultats, la pensée critique et la capacité d’apprendre. Ce qui distingue l’économie moderne de celle d’il y a trente ans, c’est qu’il est peu probable que vous fassiez la même chose toute votre vie. Très probablement, quelque chose va changer et vous devez vous y préparer.

Un autre groupe de compétences universelles concerne la communication avec d’autres personnes. Nous ne vivons plus à l’époque de la production à la chaîne. Quoi que vous fassiez, vous devrez probablement négocier et en discuter avec d’autres personnes. Le processus de communication dans ce cas devient très important. Dans les entreprises informatiques, où l'horizon de planification est très court en raison du développement constant de la technologie, même les spécialistes techniques doivent prendre de nombreuses décisions collectives nées du processus de discussion. Et les salariés ne peuvent pas laisser les négociations aboutir à une impasse, sinon le travail s’arrêtera tout simplement.

Une grande couche séparée est compétences pour les gestionnaires. Ceux-ci incluent la capacité de définir et d'évaluer des tâches, de motiver les autres et de se développer, d'être un leader, de constituer votre équipe et d'interagir avec d'autres équipes.

Chez Yandex, les programmes de formation aux compétences générales sont conçus pour que les employés puissent faire face à diverses situations dans un environnement sûr. Il peut s'agir de situations qu'ils n'ont jamais rencontrées auparavant, ou de cas spécifiques issus de leur expérience dans lesquels ils aimeraient obtenir un meilleur résultat. Il y a beaucoup de choses à régler, depuis l’embauche de nouvelles personnes et la définition d’objectifs jusqu’aux conflits d’intérêts et aux problèmes de motivation. En règle générale, les situations d'incompréhension entre un employé et un manager sont difficiles pour les deux parties, mais vous pouvez apprendre à y faire face.

Différentes méthodes pédagogiques peuvent être utilisées. Il est donc assez difficile d’apprendre le travail en équipe. À l'école, on nous apprend à travailler individuellement, des notes sont attribuées pour la réussite scolaire personnelle. Mais c'est dans une équipe que les gens apprennent à assumer leurs responsabilités, à répartir les rôles entre eux et à s'entendre sur des objectifs et des résultats communs. Et il s’avère souvent que c’est en tant qu’adulte qu’il faut apprendre au travail. Aujourd'hui, certaines écoles pratiquent l'apprentissage par projet et la réalisation conjointe de tâches. Cela devrait aider à apprendre le travail d’équipe dès l’enfance.

Comment apprendre aux adultes à apprendre et à acquérir des connaissances de manière autonome ? Parfois, une expérience dans l’enseignement supérieur est utile. Les cours de maîtrise et de troisième cycle apprennent aux étudiants à comprendre ce qui est important et ce qui ne l'est pas, et où chercher les connaissances pertinentes. Mais souvent, il faut déjà maîtriser cela en cours de travail. Il n'est pas surprenant que l'un des cours les plus populaires sur Coursera s'appelle Apprendre à apprendre.

Il n'y a rien de plus utile pour apprendre que de mieux se connaître : se regarder de l'extérieur à l'aide des retours reçus de ses collègues, réfléchir encore une fois à ce qui marche et à ce qui ne marche pas, trouver les personnes à qui on veut ressembler, et comparez-vous à eux.

Il ne faut pas oublier que la motivation est au cœur de tout. Si vous comprenez que vous n'êtes pas sociable, mais que vous devez changer cela, par exemple, c'est important pour l'équipe, alors à la fois la motivation et le besoin de changer apparaîtront. Si vous n’avez besoin de communiquer avec personne pour le travail, alors pourquoi vous dépasser ?

Oleg Mokhov, responsable du développement des projets RH et du service Yandex.Contest, qui héberge la partie en ligne de l'Olympiade

De quelles compétences générales un développeur a-t-il besoin ? Opinions de Yandex

— Les développeurs sans ambitions de leadership d'équipe n'ont pas vraiment besoin de compétences générales. Il est important de pouvoir poser des questions, écouter et exprimer ses pensées. Pour améliorer ces compétences, vous pouvez faire un rapport lors d'une conférence ou lire des conférences dans une université. Nous avons tous étudié à un moment donné, ce qui signifie que nous pouvons enseigner nous-mêmes à quelqu'un. Les étudiants sont fous et posent les questions les plus cachées. La capacité d’y répondre rapidement et de tirer la langue vous aide à rester calme dans des discussions animées.

Les livres n'aident pas avec les compétences générales. Les formations ne sont utiles que si vous y assistez régulièrement. Mais il est très utile de venir à la conférence et de prendre une position active. Posez simplement des questions à l'orateur.

Lors des entretiens, je remets parfois en question même la bonne réponse du candidat - je regarde ce qu'il pense. Mais cela ne fonctionne que si une personne a confiance en elle. De manière générale, il est préférable d’analyser les soft skills lors des entretiens finaux. Par exemple, je vous demande de nous parler de la tâche la plus intéressante qu'a accomplie le candidat. De cette façon, vous pouvez découvrir ce qui est le plus intéressant pour une personne : coder, rechercher, obtenir des résultats ou communiquer.

De nombreuses personnes dotées de soft skills extrêmement développées deviennent des managers de haut rang dont la journée entière est consacrée aux réunions. Comment entretenir vos compétences en codage ? Vous vous dites : ça fait deux heures que je programme. Vous désactivez toutes les notifications, votre téléphone, c’est le seul moyen. Je connais des dirigeants qui font cela. Eh bien, les entretiens et les sections techniques aident également à développer le cerveau. Chez Yandex, vous venez de cesser d'être junior et vous serez déjà invité à un entretien. C'est comme une taxe sur le fait que vous travaillez pour une grande entreprise.

Si vous devez choisir un chef d'équipe entre un manager et un développeur, alors tout dépend des responsabilités futures du leader. C’est une chose si le manager était lui-même développeur. Il a alors plus de chances. C’est différent s’il s’agit d’un break de projet. Il interagit avec les équipes backend et frontend, les concepteurs et les analystes. Mais il ne sait pas comment fonctionne une bibliothèque particulière dans le front-end, il n’est pas familier avec la programmation asynchrone dans le back-end et il ne comprend pas pourquoi c’est difficile. La croissance des développeurs consiste à plonger plus profondément. Et l’essence de la gestion est de collecter la couche superficielle, de comprendre le problème et de mettre en place des connexions et des processus. Par conséquent, je pense qu’un manager ne sera probablement pas en mesure d’améliorer les compétences de développement des personnes.

L'équipe peut développer de l'hostilité envers un étranger. Je choisirais donc un leader parmi les développeurs eux-mêmes, et peut-être que je ne choisirais pas le plus fort d'entre eux. Supposons qu'une personne ait travaillé pendant cinq ans, qu'elle soit maintenant un développeur senior, mais qu'au cours de ces cinq années, seul le matériel matériel a grandi et les logiciels n'ont pas grandi. Alors je ne peux pas m'attendre à ce qu'ils montent en flèche si je lui donne un poste. Mais quand un développeur travaille depuis un an, mais que je vois qu'il a une bonne langue, qu'il communique, qu'il peut connecter plusieurs personnes, résoudre des conflits entre elles - c'est un chef d'équipe pour moi, même s'il n'est pas un développeur senior .

Je ne crois pas à une histoire dans laquelle une personne devient un leader uniquement grâce à ses compétences techniques. Un chef d’équipe sans logiciel ne remplit probablement pas sa fonction quelque part. Quand cela pourrait-il fonctionner ? Quand les subordonnés sont autonomes. J'ai un slogan pour les nouveaux managers : les chats sont faciles à gérer. Les chefs d'équipe s'énervent lorsqu'ils sont confrontés à des cas difficiles : un employé veut démissionner, un autre est déprimé et commence à être moins performant, le troisième a un conflit. À cela, je dis à leur chef d'équipe : réjouissez-vous, c'est la première fois que vous devez travailler en tant que leader. Parce que les chats - ils miaulent, sont gentils, joyeux - sont très faciles à contrôler.

Source: habr.com

Ajouter un commentaire