Comment un ingénieur devient Techlida

Qui est le chef d'équipe, l'architecte ou l'AQ et ce qu'ils font, en informatique, à peu près tout est imaginé. Mais avec la compréhension de qui est l'expert technique, de ce dont il est responsable et comment le devenir, des difficultés surgissent. Nous avons mené des dizaines d'entretiens avec des spécialistes de grandes entreprises et appris qu'il s'agit d'un ingénieur qui initie les processus: connecte les personnes et les outils aux objectifs de l'organisation. Il prend l'initiative et la responsabilité du développement technologique du produit et veille à la qualité des solutions techniques. De plus, la qualité n'est pas seulement un test, mais l'architecture, la conception, les pratiques d'ingénierie et les expériences, travaillent avec la dette technique et l'amélioration technique de l'entreprise dans son ensemble.



Nous avons également découvert qu'il existe de nombreuses conférences pour les techlides. Mais presque tous se concentrent sur les outils, pas sur les pratiques et processus d'ingénierie. C'est pourquoi nous avons lancé la nouvelle conférence TechLead Conf 2020 Online - pour ceux qui souhaitent devenir un expert technique et comprendre ce qu'est la qualité. 

À TechLead Conf 2020 Online, la question secondaire est «Quel outil technique a été utilisé pour résoudre le problème?». Cette conférence s'adresse à ceux qui recherchent la qualité des solutions techniques et assument la responsabilité du développement technologique du produit. Du 8 au 10 juin, nous étudierons l'expérience de la mise en œuvre et de l'utilisation des pratiques, de la technologie et de la gestion des processus dans l'entreprise. Nous vous en dirons plus sur le programme et ce dont nous parlerons lors de l'événement.

Programme court


Le programme TechLead Conf 2020 Online va de la discussion sur le développement de techlide à la mise en pratique de DDD et se compose de plusieurs blocs.

  • Cartographie du développement technique . On ne sait toujours pas qui c'est et ce qu'il fait. Et les questions de savoir comment évoluer vers techlide et ce qu'il devrait être en mesure de faire sont encore moins souvent posées, donc dans le premier bloc, nous discuterons de qui il s'agit et de la manière de le devenir. 
  • . — , -, « ». , — : , . « ». , MVP.
  • Effets retardés des pratiques d'ingénierie . En travaillant avec du code, le feedback est rapide: écrit, testé, déployé, fonctionne. Mais dans le monde technique, le résultat de son travail n'est perceptible qu'après des mois. Par conséquent, nous avons ajouté des rapports sur toutes les étapes du cycle de vie des pratiques d'ingénierie: l'émergence d'une idée, MVP, la prévention des erreurs et la mesure des résultats après un lancement réussi sur des cas réels.

Discutez également: 


Nous expliquerons plus en détail chaque bloc et les rapports qui s'y trouvent.

Carte de développement Techlide


Tehlid est le rôle d'un ingénieur qui gère les processus. Généralement, il s'agit d'ingénieurs au moins seniors: développeurs, architectes, automatisation, SRE, moins couramment CTO. Parfois, ils peuvent être un chef d'équipe. Mais le chef d'équipe construit des équipes, gère les gens et leur développement.
Tehlid construit des processus: prend des décisions techniques qui affectent le développement de produits face à l'incertitude.
Par conséquent, la conférence n'aura pas de rapports sur la gestion et la motivation des personnes, mais seulement des sujets sur la gestion de la technologie, le leadership technique et la construction de processus d'ingénierie. Et la toute première chose à apprendre est de devenir un bon technophile.

Le succès de l'entreprise dépend de la disponibilité de spécialistes solides. Nous avons déjà décrit en quoi le techlide diffère des autres professions, et Vladimir Gorovoy , chef de produit Data Science chez Yandex.Verticals , explique à Vladimir Gorovoy la différence entre un bon techlide des autres professions . D'après le rapport « Comment devenir un bon Techlide»Découvrez par où commencer notre développement, quelles compétences et qualités à pomper. Vladimir partagera sa riche expérience en participant à la création des projets Yandex.Travel, Yandex.Real Estate et Yandex.Market pour illustrer la thèse.

Plus les compétences sont fortes, plus il est facile de faire face à vos tâches. Mais la douleur ne va nulle part - ils sont à peu près les mêmes pour tous les techlides.

  • Écrire du code ou s'engager dans une stratégie de développement technologique pour le produit et l'équipe?
  • Résoudre des problèmes techniques complexes vous-même ou déléguer?
  • Comment ne pas se déchirer entre l'écriture de code de qualité et le déploiement de fonctionnalités?

Ces conflits et d'autres seront réglés par Evgeny Korytov . Dans le rapport " Problèmes de technologie technique et comment les résoudre? "Eugène vous expliquera comment gérer les tâches et les problèmes des dirigeants, à l'aide d'un cadre qui" résout les problèmes ".

Conjuguer business et développement


Maintenir un code de haute qualité et prendre les bonnes décisions techniques n'est pas tout. Vous devez également prouver constamment aux entreprises et aux clients la nécessité d'investir du temps et de l'énergie dans des tâches architecturales et techniques. Alexey Deryushkin de Better Life Company sait par expérience ce que c'est: 15 ans de leadership d'équipe et 5 ans d'expérience en conseil. Dans le rapport « Comment« vendre »des tâches techniques aux entreprises », il montrera comment mener un dialogue avec les entreprises afin de créer des fonctionnalités intéressantes et de ne pas oublier la qualité en utilisant des exemples de vie.

La lutte entre l'entreprise et le développement est un problème standard dans les projets informatiques. Souvent, l'entreprise n'a pas de savoirs traditionnels, mais seulement des «idées» et des demandes. Cela conduit à des décisions incorrectes qui doivent être corrigées pendant des mois ou maintenues pendant des années avec des béquilles. Comment trouver un équilibre entre développement et affaires, Arthur Dementyev partagera dans le rapport « Entre deux lumières: développement et affaires ». Arthur en informatique depuis 2009, sur l'exemple d'histoires tirées de la pratique, illustrera différentes approches de la mise en œuvre des fonctionnalités MVP.

Lorsque l'entreprise et le développement se sont mis d'accord, il est temps de passer à l'étape suivante. Désormais, techlide a plusieurs mois pour lancer un nouveau produit. Le plus souvent, dans de telles situations, un produit de test d'hypothèse fonctionnant au minimum (MVP) est créé. Immédiatement après les tests, le code prototype est jeté et l'application est écrite "comme il se doit". Mais que faire lorsque le lancement du test a réussi, et que les vrais utilisateurs vivent déjà dans le "craft"? Nous apprenons de Maxim Arshinov du rapport « Comment lancer MVP et ne pas le transformer en dette technique ».

Nous sélectionnons et mettons en œuvre des pratiques d'ingénierie


Il est toujours difficile d'implémenter quelque chose de nouveau, le même MVP, PL ou framework. La nouveauté peut s'avérer «brute» et ne pas répondre aux attentes. Comment faire le bon choix et « introduire une nouvelle technologie et ne pas gaspiller tous les polymères », explique Pavel Mineev , chef d'équipe de Rocketbank.

Pour l'introduction de nouveaux produits, il est optimal d'utiliser la gouvernance comme une approche de code. Avec cette approche, toutes les règles ont leur propre cycle de vie, elles sont soumises à des tests et ne sont pas différentes d'un logiciel standard. D'après le rapport d' Alexander Tokarev «La gouvernance en tant que code: comment se conformer aux normes de développement et ne pas ralentir la livraison des fonctionnalités»Nous apprenons à appliquer cette approche: comment et quoi vérifier pendant le processus de développement logiciel, comment l'approche vous permet de développer des applications plus sécurisées et de qualité. 

Lorsque les normes sont mises en œuvre, il est temps de les tester, par exemple, à grande échelle - pour créer une plate-forme technologique. MTS est une grande entreprise informatique qui met en œuvre des projets de la télémédecine à l'IoT. Chaque nouveau projet stimule la demande pour les éléments suivants et réduit le coût de leur création. Cela n'est possible que grâce à la mise en œuvre des meilleures pratiques d'ingénierie. Mais il y a des difficultés: des centaines d'équipes avec différents niveaux et processus, l'héritage, la nécessité de «vendre» des idées aux entreprises. Comment les entreprises font-elles face à ces tâches, apprenons-nous du rapport « Que devons-nous créer une plate-forme technologique?» Un guide étape par étape de l'idée à la mise en œuvre . » Raconte les secrets de Philipp Bocharov- Chef de projet développement chez MTS IT.

Après la sélection et la mise en œuvre des pratiques d'ingénierie, le travail ne fait que commencer - vous devez évaluer le résultat. Cela aidera les métriques: il est important de comprendre non seulement ce qui se passe avec l'infrastructure et le matériel, mais aussi comment chaque fonctionnalité fonctionne, pour trouver les goulots d'étranglement et les supprimer à temps. Le rapport « Mettre en place un suivi et que faire ensuite?» » Mikhail Mazein partagera des mesures sur l'exemple de ManyChat - une plateforme où un million d'entreprises actives communiquent avec 800 millions de leurs clients. À considérer:

  • comment travailler avec des métriques sous forte charge et avec des versions régulières;
  • lesquels surveiller en premier;
  • comment créer un processus de réponse rapide et découvrir les problèmes du service avant les utilisateurs.

Équipes de plateforme


Retour aux plateformes. Plusieurs équipes différentes travaillent sur leur développement et leur accompagnement. Ils sont responsables de leurs zones, mais il n'y a personne responsable de tout - il y a des douleurs «traversantes». Ces problèmes sont résolus par les équipes de la plate-forme: elles créent l'infrastructure pour développer des applications et leur travail sur la production, aident à travailler plus vite et mieux, sont responsables de tout. Comment créer une telle équipe et appliquer la réflexion sur les produits, explique Dmitry Vishin , chef du groupe de développement de plates-formes goods.ru, dans son rapport «Les équipes de plates-formes sont importantes. Pourquoi? "

Créer une équipe de plate-forme ne suffit pas. Vous devez être en mesure de ne pas le décomposer avant que quelqu'un commence à utiliser la plate-forme. Sur ce chemin, des ratons laveurs maléfiques peuvent être trouvés. Oui, ce sont des ratons laveurs. D'où viennent les ratons laveurs et comment sont-ils liés à la stabilisation de l'équipe de la plate-forme, nous apprend le développeur principal de MTS, Elizabeth Golenok, du rapport « Platform Team and 4 Evil Raccoons ».

Les rapports seront complétés par une table ronde « Équipes de plate-forme: avantages ou inconvénients ». Au cours de la table ronde, Philip Uvarov (Spotify) et Andrei Alexandrov (Mafin) discuteront de plusieurs questions.

  • Pourquoi ces commandes sont-elles nécessaires et sont-elles nécessaires du tout?
  • Pourquoi est-il devenu à la mode de les créer?
  • Y a-t-il une utilité pour eux ou est-ce un battage médiatique?
  • « », ?


Malgré toutes les pratiques d'ingénierie et l'aide des équipes, le techlide écrit le code. Comment écrire de manière à ce que le code soit lisible et pris en charge, et ne pas tout réécrire en un an? Deux rapports répondront à cette question.

Le premier est « Comment écrire du code lisible », par Grigory Petrov , responsable des relations avec les développeurs chez Evrone. Gregory organise le développement, des conférences ( Moscow Python Conf ++ ), des hackathons, généraliste et neurophysiologue amateur. En conséquence, le rapport aura beaucoup de neurophysiologie, d'intuition cognitive et sociale. Mais l'essentiel est que Gregory vous dira d'où vient la complexité du code, pourquoi il ne peut pas être supprimé et comment vivre avec.

Le second est le rapport « Balance des contradictions. Sélection des meilleures pratiques dans le code et dans l'équipe » Gleb Lobastov. Gleb est un conseiller technique et leader de l'équipe de développement chez OneTwoTrip avec 10 ans d'expérience. Le rapport partagera des approches pour écrire un «bon» code - compréhensible et pratique à prendre en charge, et répondra à plusieurs questions:

  • ce qu'il faut considérer lors de la mise en œuvre des meilleures pratiques du point de vue du projet et de l'équipe;
  • l'ennemi principal d'un bon code et comment y faire face;
  • contradictions dans la pratique de la rédaction d'un bon code.

Tout cela avec des exemples, avec un ensemble de principes et de pratiques pour écrire du code dont vous pouvez être fier.

Héritage et refactoring


Le sujet du code, ou plutôt l'ancien code, continuera dans le bloc sur l'héritage et le refactoring. Beaucoup connaissent l’analyse statique comme outil pratique. Mais parfois, des difficultés surviennent, par exemple, lorsque le projet dispose d'une énorme base de données de code hérité. Lorsque l'analyse statistique trouve des erreurs, qu'en faire? Comment équilibrer les corrections d'anciennes erreurs et en attraper de nouvelles? Nous apprenons du rapport « Comment réparer des centaines d'erreurs dans le code hérité et ne pas mourir (par exemple, Unreal Engine 4) » de George Gribkov .
Vous pouvez refactoriser non seulement le code, mais également l'architecture, l'infrastructure et les processus.
Toute entreprise informatique de longue date est confrontée à un ralentissement des processus de production. Elle est provoquée par de nombreux facteurs, par exemple, la complexité de la technologie et l'augmentation du nombre d'employés. Cela conduit au fait que la coordination est retardée, personne ne porte de responsabilité et les systèmes deviennent fragiles. Lev Goncharov (T-Systems) dans son rapport « Accords as Code: comment refactoriser les processus et ne pas les décomposer » partagera des histoires de 14 ans d'expérience qui aideront à accélérer les processus d'infrastructure et à les rendre explicites.

Après avoir refactorisé les processus d'infrastructure, vous pouvez procéder à sa standardisation. Par exemple, débarrassez-vous du «zoo» de la technologie. Comment procéder sur l'exemple de l'expérience de la normalisation de l'infrastructure d'une grande application particulière, Ilya Mitrukov dira- Gestionnaire d'infrastructure (responsable de la sécurité de l'information technique) du Deutsche Bank Technology Center. 

Le rapport « Pas les dieux brûlent des pots. Normalisation des infrastructures »il n'y aura rien sur la mise à niveau des technologies, des solutions innovantes, des pipelines technologiques« Cosmos »ou CI / CD. Il n'y aura que la durée de vie des infrastructures de quelques années de projets, minimisant les coûts et soutenant le développement des affaires.

Du code, des processus et de l'infrastructure, passons au refactoring technologique. Comment traduire un projet qui engage 70 personnes par jour à React et TypeScript pour que personne ne le remarque? Nous allons demander à Yandex, ou plutôt à Evgeny Dashkevich , le chef du groupe Yandex. Dans le rapport « Comment passer à une nouvelle technologie pour que 70 développeurs ne remarquent rien"Eugene partagera l'historique de la traduction et les raisons de la mise à jour de la pile technique du projet, ce qui rend des millions de combinaisons différentes de résultats de recherche par jour.

DDD, gestion des événements et gestion des connaissances


Dans cette section de la conférence, nous parlerons de la conception, en utilisant les approches et les pratiques de DDD - Domain Driven Design (conception spécifique au domaine). Elle est souvent abandonnée car il s'agit d'une méthodologie sans indication claire de quoi et comment faire. Mais Raiffeisenbank utilise les pratiques DDD dans divers projets depuis 5 ans pour décomposer le système en microservices, communiquer avec les clients et au sein des équipes et créer des applications qui ne résistent pas aux nouvelles exigences. Comment appliquer l'approche, quelles pratiques utiliser et éviter les erreurs, nous apprend le rapport de Konstantin Gustov " Comment apprivoiser DDD ".

Il existe de nombreuses pratiques dans DDD. L'un d'eux est Event Storming. Il facilite la poursuite des travaux dans le domaine de la conception de DDD et de microservices. Lors de la création d'un système sur des microservices, vous pouvez facilement créer un monolithe distribué. Event Storming ne protège pas contre cela de 100%, mais il peut réduire considérablement le risque. Sur la façon dont, avec des exemples pratiques, dans le rapport de Sergey Baranov (ScrumTrek) " Modélisation des microservices utilisant Event Storming ".

Lorsque nous avons compris ce que fait le techlide, comment développer et mettre en œuvre des pratiques d'ingénierie, nous passons au stockage, à la gestion, au partage des connaissances et au suivi des solutions techniques en équipe. Par exemple, la gestion des connaissances est nécessaire lorsque les développeurs créent des fonctionnalités similaires dans différentes parties d'un grand projet. Ils y consacrent beaucoup plus de temps et de ressources que s'ils combinaient leurs efforts.

Ilya Kashlakov dirige le département de développement frontal de 50 personnes à Yandex.Money. Avec autant de développeurs, il est essentiel de partager les connaissances et de garder un œil sur l'architecture. Le rapport « Logic Review - comme outil pour prendre des décisions techniques complexes"Ilya parlera de cet outil: comment ils ont élaboré la revue logique, quelles mesures ils ont collectées et comment ils ont déterminé le succès de ce processus. Tout cela avec des exemples de problèmes, une description des changements survenus dans le processus depuis le début jusqu'à nos jours.

Pour la mise en œuvre des projets, nous avons besoin de beaucoup de documentation. Pour le stocker, utilisez, par exemple, des langages de balisage légers: Markdown, reStructuredText, Asciidoc. Ils sont faciles à écrire et les fichiers sont stockés de manière pratique dans le référentiel. À l'atelier « Comment publier Markdown et RST? Examen des outils de documentation modernes ", nous verrons comment les appliquer aux techlides:

  • Konstantin Valeev (Rostelecom IT) partagera un moyen de créer des PDF et HTML personnalisés à partir de sources Markdown;
  • Semen Faktorovich (documentat.io) parlera du «couteau suisse» de Pandoc et comment vaincre la génération DOCX avec lui;
  • Nikolai Volynkin (Plesk) - comment générer d'énormes portails HTML à l'aide de Sphinx-doc.

Trois intervenants partageront leur expérience et chacun pourra leur poser leur propre question sur le sujet.

TechLead Conf 2020 Online pour ceux qui veulent devenir techlida


Conférence TechLead Conf 2020 Online pour tehlidov et ceux qui veulent devenir ingénieurs, développeurs, chef d'équipe, QA, responsables de développement. Même si vous n'êtes pas encore un technophile, venez à la conférence et collectez pour vous des instructions sur la façon de le devenir - une carte des compétences techniques. 

L'ensemble de la conférence se tiendra dans un nouveau format - en ligne. Grâce à cela, nous avons ajouté plus de contenu en trois jours de l'événement qu'en mode hors connexion: plus de 30 rapports, des discussions éclair (courts rapports avec réponses aux questions), OST pour l'échange d'expérience, une table ronde et divers formats de réseautage. Nous avons préparé un calendrier pour le programme - regardez, marquez vos rapports préférés ou master classes dans le calendrier afin de ne pas le manquer.

Un nouveau format - de nouveaux prix, de sorte que même en ces temps étranges, vous pouvez continuer à développer et à maintenir des contacts avec des collègues d'autres entreprises. Réservez des billets - le prix de 5900 pour les particuliers vous aidera à vous tenir au courant des nouveaux produits de l'industrie ou à obtenir un nouveau métier.

Tous les participants à la conférence en ligne dans le compte personnel peuvent proposer leur question pour discussion, demander de l'aide dans une tâche de travail ou démarrer une discussion intéressante et pertinente. Là, vous pouvez immédiatement voter sur des sujets passionnants. Les auteurs des meilleures idées recevront un billet gratuit pour la conférence sélectionnée, où la discussion proposée sera organisée.

29 18:00 -. , maturity model.

. . live-, Spring Cloud Contract Pact. , .

All Articles