OUI distribué ou NON distribué? Interview pour ceux qui depuis six mois ne trouvent pas de développeur

A la veille du petit-déjeuner de l' équipe en chef «Équipe à distance. Début "nous avons discuté avec le directeur technique de wemake.services - Nikita Sobolev ( sobolevn ). Malgré le fait que la recherche d'un développeur, en particulier un développeur expérimenté, soit un cauchemar pour un chef d'équipe ou un chef de projet, peu décident encore de passer au travail avec des travailleurs à distance. Il y a plusieurs années, Nikita a cependant résolu ce problème de manière radicale. Comment? Voyons ça!



Plus loin dans l'interview apparaîtront deux: l'intervieweur (I.) et Nikita Sobolev (N.)

A propos des méthodes de travail en général et du nombre de points de contrôle


I .: Presque tous les chefs d’équipe et les responsables du développement se plaignent de ne pas trouver de développeur au bureau. Surtout dans les régions. Prenons Kazan par exemple. Pendant six mois, ils ne peuvent pas trouver de développeur pour eux-mêmes, mais s'accrochent toujours à tous ceux qui sont assis à côté d'eux dans le bureau. Cela semble-t-il donner un contrôle illusoire?

N .: Précisément - l'illusion du contrôle. Commençons probablement par définir le travail à distance. Et ici, je ne veux pas faire la différence entre le travail à distance et non à distance, mais je dois regarder le travail lui-même. Au travail, ils ont besoin de choses différentes. Il y a du travail où l'on vient, de 9h à 18h, on s'assoit, on fait quelque chose et, en principe, c'est suffisant. J'appelle cette approche des "heures" - ici vous venez et, par conséquent, vous devez vous asseoir. C’est tout. Il n'y a plus d'exigences formelles. Les employeurs particulièrement rusés peuvent proposer des KPI ridicules pour minimiser le nombre de bugs dans la prod. Ou un autre non-sens. Et puis, les programmeurs non moins rusés apprendront à l'optimiser sans activité utile. Et rien ne changera.

Et la deuxième méthode est appelée "pour le résultat". Lorsque vous commencez à vérifier le résultat, en principe, peu importe l'heure à laquelle la personne est venue, l'heure à laquelle elle est partie et ce qu'elle a fait. Autrement dit, s'il est important pour vous que lundi cette fonctionnalité fonctionne, et lundi qu'elle fonctionne - en principe, tout le reste ne vous intéresse pas.

I : Eh bien, vous comprenez qu'alors il devrait y avoir beaucoup plus de points de contrôle. Parce que vous pouvez attendre un mois pour le résultat, puis il s'avère que la personne n'a rien fait.

N .: Absolument, oui. Le résultat n'est pas quelque chose de grand. Le résultat est quelque chose de petit. Lorsque nous essayons d'obtenir un résultat global, nous avons beaucoup de petits intermédiaires. Et ces petits résultats intermédiaires sont également précieux et importants pour nous. Et grâce à eux, nous voyons un processus compréhensible, comment une personne passe d'un point A à un point B, quelles décisions elle prend, quel code il écrit, quelles fonctionnalités elle voit ensuite, dans quel ordre elle les prend. Nous obtenons une transparence totale. Et en principe, peu importe où il se trouve, à distance ou non à distance.

Nous avons un projet, un objectif global et un certain rythme avec lesquels nous nous dirigeons vers cet objectif. Nous voyons chaque résultat intermédiaire, nous pouvons contrôler sa qualité, contrôler sa direction globale. Comme vous pouvez le voir, le travail à distance ou non à distance n'est pas important ici. Le travail à distance n'est pas important pour les personnes qui sont les premières.

À propos des gens, de la programmation méditative et des deux grands principes de l'Udalenka


I .: Je sais que toute votre équipe est distribuée. Il semble que vous croyiez beaucoup aux gens, et j'ai lu dans un autre techdir qu'il ne croit pas aux gens, mais seulement au contrôle et aux délais. Il vous semble que votre position est telle qu'une personne est en mesure d'exécuter la tâche de manière indépendante sans instructions claires et constantes et sans contrôle de votre part. Que pensez-vous: tous les développeurs peuvent-ils travailler dans ce mode? Quel genre de personnes s'en sortiront et lesquelles ont besoin d'une surveillance constante?

N .: Je crois vraiment aux gens. Mais il y a quelques nuances subtiles. Si une personne venait et disait ce qu'il ferait, à ce moment-là, je lui fais confiance. Une autre chose est qu'il serait illogique de lui faire confiance avec quelque chose de grand et de très important. Non pas parce qu'il est mauvais et trompe, mais parce que c'est quelque chose de grand, cela peut contenir beaucoup de difficultés qu'une personne ne peut pas physiquement gérer et se laisser aller, le projet et moi. Pourquoi amener à cette situation? Par conséquent, l'idée principale est que les tâches doivent être petites et compréhensibles .

Je confie complètement une petite tâche compréhensible à une personne et je dis: «Ici, vous avez une tâche pendant une heure ou deux. Vous pouvez le faire comme bon vous semble. Voici nos critères d'achèvement, voici vos outils. » Et, en conséquence, pendant ces deux heures, personne ne le touche du tout, il est libre de tout faire. Deux heures plus tard, il apporte et dit: "Voici mon résultat." Ou il dit: «Cela ne peut pas se faire en deux heures, et c'est pourquoi. J'ai trouvé une telle solution pour l'avenir. »

Il arrive que des gens viennent nous voir qui ont l'habitude de travailler au bureau ou qui ont l'habitude de travailler dans une autre externalisation. Et ils ne peuvent rien gagner en un mois. Tout simplement parce qu'au lieu de suivre nos règles simples, ils essaient de travailler dans l'ancien mode. Et naturellement, ils ne réussissent pas. De plus - ils ignorent mes conseils et recommandations de nos bots. Et oui, il y a des problèmes. Par conséquent, si une personne est un employé de bureau typique qui a l'habitude d'avoir trois réunions par jour et 15 minutes d'écriture de code, elle trouvera probablement cela difficile. Parce qu'il n'y a pas de réunions ou d'autres distractions, il n'y a que du code et de la documentation. Ainsi, nous nous dirigeons vers une programmation méditative sans distractions ni changements de contexte.

Et .: Une chose me surprend dans ce schéma: quand vous donnez aux gens de petites tâches, il doit y avoir quelqu'un qui voit tout le projet et comprend où nous allons tous. Il s'avère que votre charge augmente. Et vous devez garder cette centaine de petites tâches sous contrôle, non?

N .: Une personne doit avoir une image complète dans sa tête où nous allons. Si les gens du projet ne comprennent pas où ils vont et pourquoi ils font quelque chose, ils ne pourront pas donner un résultat normal. Et c'est donc partout: à distance, pas à distance - peu importe. Mais pour compiler cette vision complète, les gens ont besoin d'une compréhension du domaine, ils ont besoin d'une compréhension du problème commercial, ils ont besoin d'une compréhension de certains jalons mondiaux et de leur lien avec les tâches commerciales et le domaine.

Cela peut être fait avec une description détaillée de ce que nous faisons dans la documentation. C'est-à-dire la création d'un langage unique, des exigences compréhensibles, la création de modèles et de scénarios commerciaux, de graphiques et de diagrammes compréhensibles, de décisions prises, de cas d'utilisation et de scénarios utilisateur. Ce n'est pas que nous avons juste besoin d'une telle fonctionnalité, non, mais pourquoi est-elle nécessaire, qui l'utilisera, dans quel cas, quels sont les pièges de cette fonctionnalité. La documentation permet de comprendre parfaitement où nous allons . Je dirai plus, parce que nous avons toutes ces petites tâches connectées ensemble, nous obtenons une telle «chaîne de tâches», et le développeur peut comprendre où nous avons commencé, où nous allons et où nous en sommes.

Le code lui-même est également très important, ce qui n'est pas écrit dans le style "ici, nous avons un tas de déchets". Et avec une architecture claire, avec des règles claires, avec de bons modèles. Et le code est lié à ce que nous faisons à un niveau commercial élevé. Quand vous regardez une classe, vous voyez déjà que ce n'est pas seulement une classe, mais une classe qui est responsable d'un certain domaine d'activité - «oh, ça y est!». À ce stade, les bons développeurs ont une compréhension de ce qu'ils font, puis ils peuvent commencer à créer des tâches par eux-mêmes. Ils feront une petite partie, puis ils comprendront: "Ah, nous devons encore y aller."

Mon seul rôle dans tout cela est simplement de contrôler la direction, enfin, une certaine adéquation.

I .: J'ai compris votre idée qu'une vision commune est la chose la plus importante pour qu'une personne comprenne / exécute correctement les tâches et voit sa contribution au projet. Mais dans votre système de travail, je vois 2 autres principes - c'est de prendre, d'une part, les développeurs d'un niveau exceptionnellement élevé, et d'autre part, c'est une documentation très bien écrite. Non?

H .: C'est vrai. Et maintenant, nous revenons au travail à distance. Pourquoi nous avons donc choisi cette option, et non l'option «bureau». Et maintenant, vous avez précisément remarqué que ces deux points sont essentiels.

Le premier est des développeurs solides. Où les trouver? Les développeurs puissants du monde entier sont inégalement répartis. Et il y a des points où il y a des développeurs plus puissants et en même temps ils sont moins chers. Pourquoi devrions-nous concurrencer, par exemple, les entreprises de Moscou, qui peuvent se permettre de payer beaucoup d'argent pour un développeur solide lorsque nos ressources sont plus modestes? Il y a un merveilleux marché régional, le marché asiatique ou le marché africain, ou le marché d'autres pays post-soviétiques. Il y a de bons développeurs, mais ils sont plusieurs fois moins chers.

Il est important de comprendre que nous ne revendons pas le temps des développeurs pas cher pour cher, comme tout le monde le fait habituellement. Nous essayons de trouver le meilleur pour le même prix. Et nous proposons un système de paiement transparent. Combien a gagné - tant a reçu. En raison du marché local, les entreprises ont des problèmes avec de bons développeurs, mais nous ne les avons pas.

Et le deuxième point est la documentation. Une bonne documentation ne peut être écrite que lorsqu'elle est nécessaire. Parce que s'il est écrit sous un bâton et n'est pas regardé, mis à jour, il devient rapidement mauvais. Une bonne documentation, par exemple dans les projets open source, comment est-elle écrite? Elle est la seule source de la façon dont les gens peuvent apprendre et profiter de ce projet open source. Si les gens voient que quelque chose ne fonctionne pas dans la documentation, ils créent une tâche et disent: «Quelque chose ne fonctionne pas dans votre documentation». Vous dites: "Oh, je vais le réparer maintenant." Si une personne est assise à côté de lui, elle vous demandera simplement: "Que faire à ce stade?" Et vous êtes obligé de lui répondre. Et dans ce processus, la documentation ne sera pas bonne. Pour que la documentation soit bonne, les gens doivent être à distance et ne pas pouvoir communiquer directement.

À propos du système de rémunération et du team building


I : Drôle, il s'avère que lorsque les gens sont à distance, il est plus facile de s’impliquer dans le projet, car ils peuvent lire la documentation, et au bureau, ils doivent chercher qui a commencé à l’écrire, d’où est venu ce morceau et que signifie-t-il?

N : Oui, cela devient plus facile pour eux, car tout le processus de travail à distance est basé sur le fait que de nouvelles personnes vont venir. Il existe deux options de travail: l'automatisation et la documentation. Beaucoup de choses sont plus faciles à automatiser: par exemple, déployer. Et comment quelque chose fonctionne est plus facile à décrire dans un texte ou dans un graphique.

Dans les équipes qui travaillent au bureau, il me semble que cela est impossible à réaliser. J'entends très souvent que vous devez y consacrer beaucoup de temps, et si vous êtes assis à proximité, vous travaillez plus vite. S'il s'agit d'un sprint court et que vous devez faire un prototype d'une application en une semaine, il sera probablement plus rapide de travailler en face à face. Mais si nous parlons d'un projet qui dure plusieurs années, alors il accumule de manière critique tous les problèmes connus très rapidement. Et après un certain temps, il est impossible de l'utiliser. C'est le problème de tous les logiciels que j'ai vus, qui sont écrits dans un modèle traditionnel.

I .: Quelles craintes et préjugés aviez-vous lorsque vous êtes passé à travailler avec une équipe distribuée? Ou non?

N : Naturellement, il y avait des craintes, et nos premiers gars, que nous avons embauchés sur un site éloigné, travaillaient selon l'ancien système, c'est-à-dire pour les salaires. Et quand on paie un salaire, on s'en fiche. Parce que vous voulez tirer le meilleur parti du temps qu'une personne vous a vendu. J'ai alors eu beaucoup de doutes et de préjugés. Et il n'y avait aucun contrôle. J'ai vite réalisé que dans ce format, le travail à distance ne fonctionnait pas.

En conséquence, nous avons limité cette expérience. Et maintenant j'ai plutôt un préjugé envers le bureau.

Quelqu'un veut que je sois quelque part à un point spécifique de la Terre, ce qui limite ma liberté de mouvement. Il veut aussi que je passe tout le temps sur lui, ce qui limite ma liberté d'activité. Il est étrange que pour beaucoup de gens cette option semble normale.

Il est clair qu'il y a toujours des obligations. Mais dans mon cas, ces obligations concernent le résultat. Autrement dit, à un tel moment, je dois le faire. Et dans le travail de bureau, j'ai l'obligation d'aller au bureau tous les jours. Et d'en haut, ils viennent avec d'autres exigences que je peux habilement repousser plus tard.

La réponse est tellement compliquée. Si vous payez de l'argent pour une raison quelconque, l'équipe distante est un enfer. Parce que vous ne pouvez rien contrôler du tout. Et si tout est fait correctement, alors l'équipe à distance est le prochain niveau d'organisation du travail par rapport à ce qu'elle est maintenant.

image

I : À quoi ressemble un travail à distance correctement construit de votre point de vue? Il y a un certain développeur qui est prêt à travailler sur un site distant, que se passe-t-il ensuite?

N .: Il y a un très bon exemple pour les développeurs. Il s'agit d'un phénomène open source. Open source - ce sont des millions de développeurs qui s'auto-organisent à distance, personne n'aide vraiment. Et ils font des choses impressionnantes que le monde entier utilise.

Et un bon travail à distance se ressemble exactement. Comment commence toute communication en open source? Le développeur crée une tâche, dit: «Quelque chose ne fonctionne pas pour moi», ou «Je ne comprends pas la documentation», ou «Je veux une nouvelle fonctionnalité». Vous regardez ce qui doit être fait pour le satisfaire. Vient ensuite une discussion, quelques questions de clarification, peut-être que cette tâche bat sur plusieurs tâches. Et puis un code est envoyé qui ferme ces petites pièces. Le code est vérifié par des tests et des linters, une revue a lieu. Et puis une nouvelle version vient de sortir. En fait, c'est tout.

Et tout le monde créé artificiellement autour des projets, qui appartient maintenant à la catégorie «nous avons 15 chefs d'équipe, 6 chefs de projet et deux maîtres de mêlée», est nécessaire pour extraire davantage de personnes pour le même prix. Parce que personne ne peut vérifier le résultat avec toute la fiction d'importance et de contrôle. En mettant l'accent sur les résultats, tout fonctionne sans eux.

I .: Pensez-vous qu'il existe un moyen sûr de passer à un tel modèle? Imaginez qu'il y ait une équipe au bureau, des chefs d'équipe, des produits, des analyses, etc. Ils manquent cruellement de développeurs, ou ils ont des fakaps permanents, ou les délais sont respectés. À un moment donné, ils concluent que l'on ne peut pas vivre comme ça.

N : Je vais vous expliquer, je n'ai pas moi-même été dans une telle situation de transition sûre. Et je ne connais pas d'entreprises qui passeraient progressivement à cette option. J'ai eu une expérience très traumatisante. Nous avions un gros trou d'argent en raison du fait que nous travaillions à l'ancienne, et d'une manière ou d'une autre, tout s'est mal passé. J'ai dû renvoyer tout le monde qui nous avons eu ce moment, et en fait recommencer. Et ce moment, d'une part, a été très difficile, douloureux et, d'autre part, très simple, car je n'avais pas besoin de faire la transformation en cours de route. J'ai juste haché et recommencé.

I .: De nombreux managers pensent que l'équipe est leur principale valeur. Et vous avez viré tout le monde. Et maintenant, considérez-vous que vos gars qui travaillent pour vous dans différentes parties du monde sont une équipe?

N .: Bien sûr que non. Je suis généralement contre l'utilisation du mot «équipe» en dehors des affaires. Je crois qu'une équipe est vraiment quelque chose d'unique. Tout ce qui est maintenant traditionnellement sur le marché, c'est au mieux une équipe. Et dans notre cas, ce n'est même pas une équipe, c'est juste un ensemble de personnes qui, ensemble, font un projet et gagnent de l'argent. Ce n'est pas quelque chose qui n'est pas une équipe, ils ne sont même pas familiers. Fondamentalement, maintenant le mot «équipe» est utilisé comme une autre manipulation de personnes.

I .: Intéressant. Cela ressemblait à la moitié des articles et des discours sur la gestion d'une équipe distribuée sur la façon de rallier cette équipe lorsqu'elle se trouve dans différents fuseaux horaires, parle différentes langues et comment rendre l'interaction efficace. Est-ce un problème pour vous?

N .: Pas la peine. De plus, je suis contre le fait que les gens se soient ralliés de force. Je crois que tant de gens traversent les frontières. Il y a une frontière du travail et une frontière de la vie personnelle. Et au travail, je suis prêt à communiquer avec différentes personnes. Parce que c'est du travail, je ne choisis pas toujours avec qui communiquer. C'est nécessaire - cela signifie que c'est nécessaire. Mais quand les gens commencent à me bousculer de force avec des gens, je ne veux pas communiquer en dehors du travail, comme «aller à la rencontre avec eux». Pourquoi tout d'un coup? J'ai mes propres amis, j'ai ma propre famille, pourquoi vais-je passer du temps à savoir qui, quand je peux discuter avec des gens importants pour moi? Pour moi, c'est totalement incompréhensible.

«Non», «peut-être» et «oui» - où chercher des développeurs


I .: Est-ce que je comprends bien que vous n'imposez tout simplement pas une culture d'entreprise et que vous n'intégrez pas de force votre équipe, et en retour les gens ont toute liberté de choisir quoi faire, à quelle heure et avec qui communiquer. Et donnez un résultat, bien sûr.

N .: Oui. Et j'essaie très fort de faire la différence entre les choses que je peux faire, parce que je paye de l'argent pour cela, et ce que je n'ai pas le droit de faire, parce que je paye juste de l'argent.

I .: Je sais que pour beaucoup de gens, votre approche provoque le rejet. Par exemple, sur le habr sous cet article, il y a des commentaires selon lesquels vous êtes presque cruel, vous n'allez payer personne, et ainsi de suite. Pourquoi?

N .: Il y a vraiment un tel problème. Les gens voient ce qu'ils veulent voir et ce qu'ils ont l'habitude de voir. Si les gens ont l'habitude de vivre dans une industrie où ils sont utilisés, trompés, manipulés et jetés, ils le voient. Si les gens ont l'habitude de vivre dans une atmosphère de confiance, dans un environnement de travail de qualité et d'équilibre, ils le voient. La question est, malheureusement, dans notre industrie, la première l'emporte sur la seconde.

I .: Ne vous semble-t-il pas qu'en fait le système que vous proposez résout l'un des principaux problèmes des développeurs qui disent qu'ils écrivent vraiment du code 15 minutes par jour? Et le reste est effectué lors de rassemblements et grillé, grillé, grillé ...

N .: Bien sûr, je l'ai fait pour moi-même! Et surtout, j'aime écrire du code. C'était étrange de créer un système dans lequel je ne pouvais pas écrire de code.

I .: Vos aînés peuvent-ils gagner suffisamment pour leur vie? Et combien d'heures par jour passent-ils pour gagner autant que, par exemple, dans l'entreprise informatique statistique moyenne de leur ville?

N.: Ils le peuvent, mais pas tous. Seuls ceux qui travaillent beaucoup et efficacement. Ils peuvent gagner beaucoup. Il n'y a pas de limite supérieure et ne peut pas l'être. Et certaines personnes ne pouvaient rien gagner du tout de nous.

Et nous avons également des étiquettes de prix légèrement différentes. Ils sont plusieurs fois supérieurs à ceux du marché en Russie. Il est important de comprendre que nous ne vendons pas les mêmes montres. L'heure de travail habituelle n'est rien. Vous êtes assis là, regardez YouTube pendant une heure et vous êtes payé pour cela. Certaines entreprises souhaitent insérer une sonde en vous pour voir ce que vous y faites. Par conséquent, le prix d'une heure à faible productivité est également bas. Nous avons une heure de travail - c'est un coût fixe de la tâche.

Mais voici un autre problème - le taux de change du rouble a chuté très fortement. Et nous, par exemple, ne pouvons pas du tout travailler avec des développeurs européens. Nous avons eu une telle expérience, mais ils obtiennent juste quelques miettes selon leurs normes. Beaucoup ont simplement participé parce qu'ils étaient intéressés, mais pour l'argent, ce n'était pas suffisant. Mais avec les gars d'autres parties du monde - il s'avère que, parce qu'ils ont beaucoup d'argent pour leur niveau de vie.

Il en résulte trois groupes: le groupe «non» (ce sont des Américains et des Européens), le groupe «peut-être» (ce sont les nôtres, l'Ukraine, la Biélorussie) et le groupe «oui» (ce sont l'Afrique, l'Asie, etc.). Ici, la question concerne spécifiquement ma mise en œuvre: combien je peux vendre cette idée aux clients et combien ils sont prêts à payer. Encore une fois, nous travaillons uniquement avec des clients russes. Si nous entrions activement sur le marché européen ou américain, ils paieraient plus et ce problème serait partiellement résolu. Mais jusqu'ici.

I .: Vous avez décrit la quasi-totalité du globe! Dans quelle mesure le choix des candidats ayant accès au marché international est-il élargi?

N .: Il se développe beaucoup. Nous n'avons pas encore eu le temps de travailler activement avec l'Amérique du Sud. Et là, comme, il y a aussi beaucoup de bons développeurs.

I .: Dites-moi, comment cherchez-vous des développeurs?

. : . . .

PS , . ? !

, 2 2019 , - , : , 3 .

Source: https://habr.com/ru/post/fr469417/


All Articles