Les développeurs de logiciels deviennent un atout plus précieux que l'argent. Les manquer ou en perdre le contrôle (et on ne sait toujours pas ce qui est pire) est plus facile que jamais. Nous avons décidé de discuter de la manière de réduire ces risques.
/ Flickr / Damien Pollet / CC BY-SAComme le montre une
étude de Stripe & Harris Poll, 61% des cadres supérieurs (sur un échantillon de plus de 1000 managers) considéraient que le principal facteur qui pouvait déterminer le succès de leur entreprise était une équipe de développeurs solides. Selon Forrester, les organisations pour lesquelles les talents d'ingénieur sont critiques et manquants sont en 2018 confrontées à la nécessité de rémunérer les professionnels en moyenne 20% de plus que le marché.
Mais même avec des professionnels décents à leur disposition, les entreprises et les startups peuvent perdre des bénéfices - simplement en raison d'erreurs système dans leur travail avec les informaticiens. En particulier, de nombreux programmeurs sont obligés de prendre en charge des systèmes ou des logiciels obsolètes de qualité franchement médiocre. Les entreprises du monde entier perdent environ 300 milliards de dollars par an à cause de cette approche.
Et en général, attirer et retenir des programmeurs qualifiés dans l'environnement actuel n'est pas une tâche facile. L '«économie du concert», avec des modèles d'emploi atypiques flexibles, implique de plus en plus d'adultes valides:
selon McKinsey, en 2017, il y avait jusqu'à 162 millions de personnes en Europe et aux États-Unis seulement. Aujourd'hui, le développeur dispose d'un nombre croissant de possibilités diverses de recevoir une récompense monétaire acceptable pour lui, sans se limiter à la portée d'un contrat de travail avec un seul employeur.
Pour recruter une équipe d'ingénieurs et créer un environnement pour eux qu'ils ne veulent pas quitter, cela vaut la peine de suivre quelques règles. Ils ne sont pas la seule recette du succès dans la gestion des talents technologiques, mais ils fonctionnent certainement s'ils sont appliqués sans fanatisme.
Embaucher soigneusement IT Stars
Parfois, l'embauche de «célébrités du codage» - d'éminents experts en sécurité de l'information ou des génies des charges élevées, etc. - conduit à un moment donné à devenir inviolables, acquérant de facto de telles influences sur l'équipe qui compte réellement uniquement à la direction. Cela se produit si, dans le but de développer une nouvelle direction ou un nouveau projet technologique, l'entreprise souhaite constituer une équipe de rêve et commence à «aspirer» le marché, en lui arrachant les professionnels les plus expérimentés, quelle que soit la façon dont ils travaillent ensemble.
Souvent, dans les grandes entreprises avec une longue histoire, les «stars de l'informatique» subissent des métamorphoses de personnalité désagréables du fait qu'elles ne savent que maintenir des énormes matrices de code héritées. Avec une structure opaque de gestion technologique, ces employés sont déjà réticents à partager les connaissances pertinentes avec les nouveaux arrivants et commencent à saboter les initiatives qui sont hypothétiquement capables de saper leur statut dans l'entreprise ou le département.
/ Flickr / Code pour l'Amérique / CC BY-NDDans une certaine mesure, ces risques sont éliminés ou atténués par la mise en œuvre honnête et cohérente des principes Scrum et Agile dans le travail de l'organisation (voir ci-dessous), mais même dans une seule entreprise informatique, où les méthodologies flexibles ont triomphé, de telles «techno-techniques» peuvent compliquer le travail du service informatique.
Cependant, "l'étoile" n'est pas une phrase. C’est juste que vous n’avez pas besoin d’essayer de «déchirer ces mains», tout comme il n’est pas nécessaire de les éviter. Lorsque vous interviewez les développeurs les plus expérimentés, vous devez accorder une attention accrue à leurs compétences générales, y compris les compétences en travail d'équipe (pour la plupart, les logiciels de masse ne sont pas effectués par une seule personne) et les commentaires des employeurs précédents.
Cela ne signifie pas que, pour des «risques de couverture», il soit nécessaire de faire appel à de nombreux spécialistes aux fonctions en double ou de préférer les professionnels de la classe moyenne à la classe supérieure. Mais le caractère étoilé du développeur n'est certainement pas une valeur absolue.
Donnez aux professionnels la possibilité d'acquérir de nouvelles compétences.
Pour la plupart des développeurs, architectes système, chefs d’équipe, le principal facteur de motivation - laissons l’argent jusqu’ici - est l’auto-amélioration professionnelle. Ils aiment simplement écrire du code et créer des systèmes qui peuvent faire quelque chose d'utile. Ils aiment aussi quand ils ont l'occasion d'apprendre et de faire leur travail mieux que les autres.
De plus, dans le milieu professionnel, cette envie a tendance à prendre le caractère d'une névrose: les développeurs ont peur de ne pas savoir quelque chose, d'être insuffisamment compétents même dans les domaines où ils travaillent depuis des années. Ils
appartiennent à FOMO (peur de passer à côté ou «syndrome du profit perdu»). Personne n'empêche l'employeur, qui comprend ces nuances, de donner des opportunités de développement accéléré aux programmeurs sous leur supervision.
Heureusement, il existe de nombreuses opportunités de ce type. Premièrement, c'est (aussi banal soit-il) un métier intéressant, grâce auquel le développeur senior renforcera son professionnalisme, et le développeur junior va bon gré mal gré développera ses compétences en "Middle". Pourvu que le climat dans l'équipe soit favorable aux débutants studieux.
C’est une chose de rivaliser les magasins de modèles en ligne un par un et une autre de créer un produit complexe et atypique. Dans le cas de projets véritablement significatifs, les questions purement technologiques relevant de la compétence du service informatique prennent une dimension réelle. Les conflits de routine entourant le choix d'une technologie particulière peuvent être traduits en un canal constructif - dans le canal des avantages qu'un choix particulier procurera au public du service.
Pour une entreprise soucieuse de la qualification de ses développeurs, dans l'ordre des choses, créer ses propres bases de connaissances technologiques, payer pour tout ou partie des formations et certifications, acheter de la littérature professionnelle à la demande des développeurs, réaliser des hackathons internes.
/ Flickr / Betsy Weber / CC BYUn employeur intelligent avec une âme calme laissera un ingénieur parler lors d'une conférence spécialisée, car il comprend qu'il se fait indirectement la promotion non seulement de lui-même en tant que spécialiste, mais aussi d'une entreprise. Vous ne devriez pas avoir peur qu'un spécialiste soit attiré vers un autre endroit lors de la conférence: si l'employé hésite, il peut également l'attirer en ligne directement depuis le bureau.
Développeurs de rémunération équitable
Quand ils disent que l'argent n'est
pas le principal facteur de motivation pour un développeur, pour une raison ou une autre, ils ferment souvent les yeux. En attendant, juste parce que les informaticiens sont attachés aux principes de la pensée rationnelle, il est particulièrement important pour eux de comprendre quelles récompenses ils peuvent attendre dans un avenir prévisible et dans quelles conditions. Si les programmeurs étaient indifférents à l'argent, ils ne seraient pas payés
autant .
Il est également important que le modèle de formation de la rémunération soit compréhensible et maintienne un lien avec les avantages que le spécialiste apporte à l'entreprise. Il arrive que cette règle soit violée par rapport aux développeurs "vedettes" (voir ci-dessus) et les surpayer "pour le statut".
Bien sûr, les employeurs n'encouragent pas la divulgation d'informations sur les salaires de leurs employés, mais en fin de compte, tout le monde sait toujours qui reçoit combien, et l '"injustice" évidente en revenant à l'un des voisins du bureau démotive simplement les programmeurs.
Pour une startup, il est logique d'envisager également un programme d'options pour les principaux développeurs et de tenir ces promesses, peu importe ce qui arrive à l'entreprise. Cependant, on ne peut pas en faire trop - promettez plus que vous ne pourrez donner. Souvent, les fondateurs de projets innovants négligent cette règle et promettent une part dans l'entreprise à presque des stagiaires. Vous devez connaître la mesure - par exemple, dans Buffer, selon le programme d'options, l'équipe (moins les cofondateurs) a
attribué un total de 17% des actions et environ 3% aux principaux consultants.
Offrez les bonnes options de carrière à temps
Le chef d'entreprise ou CTO - selon la taille et la structure de l'entreprise - doit comprendre quelle est la motivation de base des ingénieurs, testeurs et projets sous sa supervision. Dans de nombreux cas, les développeurs et autres spécialistes techniques sont déçus par la société et la quittent car ils ne voient pas où aller.
Bien sûr, il n'y a pas de voie unique pour tout le monde et tout le monde, les développeurs sont très différents. Vous devez vous appuyer individuellement sur les besoins de chaque employé. Disons que pour de nombreux développeurs, un excellent chemin de développement est de devenir un chef d'équipe: sans se détacher de la programmation, commencer à être plus responsable du produit, avoir une voix lors du changement de la pile technologique.
/ Flickr / Damien Pollet / CC BY-SAMais tous les ingénieurs ne veulent pas entreprendre autre chose que des tâches de développement. Une tentative de «former» même un directeur technique débutant à partir d'un tel spécialiste l'amènera très probablement à démissionner. Heureusement, le développement de logiciels est un domaine où une croissance horizontale illimitée est possible si la société a des projets qui poseront à leurs yeux de sérieux défis aux développeurs seniors.
Parlez donc aux développeurs: à la fois au début, pendant les entretiens et lorsqu'ils sont déjà dans votre état. Si vous êtes un gestionnaire du plus haut niveau, les gestionnaires directs (chefs de département, chefs d'équipe, etc.) vous aideront à comprendre les besoins professionnels et professionnels des programmeurs ordinaires.
Créer une culture dans laquelle le développeur est principal
Cette recommandation s'applique principalement aux sociétés informatiques pour lesquelles la valeur des ingénieurs est encore plus élevée que la moyenne du marché. Jeff Szczepanski, directeur de l'exploitation de Stack Overflow,
recommande de favoriser au sein de l'entreprise la culture qu'il a baptisée développeur en premier, c'est-à-dire où le programmeur avec ses besoins est au premier plan.
Certaines circonstances et situations qui démotivent les programmeurs peuvent ne pas être claires pour un gestionnaire qui n'avait pas travaillé en étroite collaboration avec eux auparavant. Par exemple, si un cinquième de son temps de travail, un développeur de logiciels qualifié est contraint de rédiger des rapports pour une personne qui lui-même n'a pas écrit une seule ligne de code, il y a un risque que tôt ou tard (et plutôt plus tôt) il abandonne et quitte, même malgré un salaire supérieur à la moyenne au marché.
Par conséquent, dans les entreprises dont le succès repose principalement sur le travail des développeurs, il est important de construire la bonne structure organisationnelle, où entre les programmeurs et les gestionnaires classiques, il existe des liens intermédiaires - à la base et au management intermédiaire, qui connaissent bien le travail des ingénieurs.
Il est important et, sans perdre le contrôle des développeurs, d'éviter la microgestion, qui peut tuer leur productivité. Soit les managers sans passé informatique qui essaient souvent de faire face à leur propre sentiment d'impuissance commettent souvent ce type d'hypercontrôle, ou, au contraire, ces cadres débutants qui ont eux-mêmes récemment codé et ont maintenant peur de ne pas pouvoir assumer de nouvelles responsabilités.
Enfin, l'une des raisons typiques pour lesquelles les développeurs quittent le plus souvent les grandes entreprises est le
manque d'autonomie dans la prise de décisions importantes, ainsi que le choix limité excessif d'outils, parfois en raison de considérations autres que celles de l'entreprise.
Prendre soin - ou plutôt «prendre soin d'une personne en bonne santé» - s'exprime chez les développeurs à différents niveaux: de la compréhension des réalités actuelles du projet (peut-être que le projet permet aux «technophiles» de travailler de la maison 1-2 jours par semaine?) À l'ergonomie de l'espace dans lequel les employés (pas tous les professionnels de l'informatique, par exemple, comme les espaces ouverts).
Lier le développement informatique aux objectifs de l'entreprise
Souvent, les entrepreneurs et les gestionnaires reprochent aux développeurs de ne pas «voir la situation dans son ensemble» et de négliger les objectifs commerciaux de l'entreprise. En vain. Les architectes système, les ingénieurs et les codeurs ne sont pas tenus de raisonner dans les catégories financières et de marché. Oui, la «réflexion sur les produits» est excellente, mais elle est abordée dans le bon environnement.
Pour que les développeurs fassent ce qui est utile pour l'entreprise, vous devez les mettre dans des conditions appropriées. Le but est de tuer deux oiseaux avec une pierre. D'un autre côté, pour s'assurer que les développeurs n'ont pas de questions comme «Pourquoi faisons-nous cela?», D'un autre côté, pour s'assurer que la gestion n'exige pas des résultats des responsables techniques qui sont fondamentalement incompréhensibles pour les informaticiens. Et cet objectif est réalisable.
/ Flickr / Paul Downey / CC BYAu cours des 20 à 25 dernières années, de nombreux cadres et codes des meilleures pratiques des technologies de l'information ont été élaborés et continuent de s'améliorer. Parmi eux, par exemple, ITIL et COBIT. Le premier a
été créé afin de minimiser la bureaucratie et de créer des règles reproductibles compréhensibles pour l'exécution des processus de routine en informatique. Et le
second , à son tour, a été développé à l'origine pour connecter et synchroniser les besoins de l'entreprise avec les principes du développement logiciel.
De plus, la mise en œuvre de méthodologies de développement agiles, principalement Scrum, aide à créer un environnement sain pour créer et assurer l'opérabilité des produits informatiques. Pour comprendre comment votre entreprise se conforme aux principes Scrum, il existe un excellent test
Scrum Open . Les mécanismes adoptés dans des méthodologies flexibles aident à niveler bon nombre des risques décrits ci-dessus.
Par exemple, une personne avec un rôle spécial - «Scrum-master» - se concentre en particulier sur la façon de faire la transition de l'équipe vers un véritable travail d'équipe. Y compris, d'une part, elle supprime les craintes des anciens de l'équipe qui ont peur de devenir inutiles, d'autre part, elle oblige les nouveaux venus à respecter les "stars IT" locales.
Nous comprenons la valeur des développeurs et essayons de les mettre à l'aise dans 1cloud . Et en ce moment, nous élargissons notre équipe et serons heureux de vous inviter au rôle d'un développeur back-end de premier plan . En plus de coordonner le travail de vos collègues, vous serez engagé dans l'architecture et les mécanismes d'interaction de nos solutions avec d'autres systèmes.
Comme exigences de base: expérience en développement industriel sur C # et la plateforme .NET; bonne connaissance de SQL, T-SQL et expérience avec MS SQL Server; expérience avec Git, expérience dans la construction de processus CI / CD. Nous envisageons des candidats à temps plein. Notre bureau est situé dans le centre de Saint-Pétersbourg (métro Chernyshevskaya).
Ce que nous écrivons sur un blog d'entreprise: