
Comme pour tout dans la vie, s’adapter à un nouveau rôle n’est pas toujours facile. Faire le saut vers un poste d’ingénieur senior peut être difficile car cela nécessite d’assumer plus de responsabilités, d’améliorer la priorisation et de perfectionner les compétences non techniques. Que quelqu’un ait été récemment promu au poste d’ingénieur principal ou qu’il essaie de prouver qu’il est prêt pour le niveau suivant, voici les principales leçons à garder à l’esprit pour assurer le succès dans le rôle.
Priorité à la perfection
Les perfectionnistes peuvent être tentés de passer d’innombrables heures à essayer d’améliorer la base de code, à distribuer les meilleures pratiques de codage, à demander plus d’heures de refactorisation et à corriger tous les bogues du backlog sur lesquels ils peuvent mettre la main. Cependant, corriger les bogues dont les clients ne se plaignent pas dans une fonctionnalité qui n’est pas très utilisée n’est pas une bonne utilisation du temps.
La priorisation devrait être au cœur de l’approche de travail d’un ingénieur principal. Les ingénieurs logiciels doivent lutter contre l’envie de suivre des voies qui n’apportent pas de valeur à l’entreprise et bloquer leur impact.
Clarté cristalline
Les ingénieurs seniors ne se contentent pas de fournir du code, ils fournissent des solutions. Évitez d’essayer d’adapter des modèles de conception là où ils ne sont pas nécessaires et de chercher des moyens de rendre le code « plus joli » pour s’adapter à une esthétique spécifique. La réalité est que personne ne se soucie des préférences esthétiques uniques, mais plutôt que la solution ait un impact et survive année après année.
Les ingénieurs doivent choisir la clarté plutôt que la complexité lorsqu’ils écrivent du code, conçoivent une architecture, communiquent une information ou plaident pour une nouvelle technologie. Ce faisant, la solution a de meilleures chances d’avoir un impact et de survivre au fil des ans.
De nombreux ingénieurs en logiciel veulent jouer avec une nouvelle technologie brillante ou un nouveau langage de programmation. Prenez du recul et recherchez des opportunités pour atteindre les mêmes objectifs au sein de la pile technologique existante. Bien que les nouvelles technologies soient cool, gardez à l’esprit que même les frais généraux liés à l’apprentissage et à l’enseignement d’une nouvelle technologie dans une organisation peuvent être fastidieux.
Le morceau de code auquel personne ne veut toucher est celui qui a une conception complexe et qui n’est pas forcément le plus difficile.
Comme l’a dit Martin Fowler : “N’importe quel imbécile peut écrire du code qu’un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre.
Faites-en une priorité de fournir des solutions pour les humains.
Ce n’est pas seulement coder, c’est aussi parler de code
Un écueil courant dans lequel tombent les ingénieurs logiciels est d’oublier de se concentrer sur les compétences non techniques. Un ingénieur qui écrit du code le plus rapidement et peut produire des solutions complexes n’est pas nécessairement préparé pour un titre senior.
Un ingénieur senior doit articuler chaque solution qui lui appartient, du passé ou du présent. Si un ingénieur est incapable d’expliquer son raisonnement derrière une solution qu’il a construite, cela indique qu’il ne fait que suivre ce qu’il voit des autres et qu’il n’a pas réfléchi à chaque décision qu’il prend.
À ce niveau, la précision est essentielle et l’exécution tant au niveau technique que de la communication est indispensable. L’essentiel est qu’un ingénieur senior n’a pas besoin d’être celui qui peut écrire le plus de code, mais il doit être celui qui peut expliquer clairement chaque solution qu’il construit.
Concentrez-vous sur les principes « Get it Done » et « Figure It Out »
En tant qu’ingénieur senior, vous devez accepter que les roues d’entraînement sont désactivées et que vous êtes principalement seul. Vos pairs et vos dirigeants s’attendent à ce que vous vous occupiez des affaires jour après jour sans recevoir aucune main tendue. L’époque glorieuse où il fallait poser des questions sans honte ou prendre une semaine ou deux pour trouver une solution est révolue depuis longtemps.
La réalité est qu’être ingénieur principal n’est pas facile et que la route est certainement plus cahoteuse. C’est pourquoi il ne suffit pas de réaliser que “juste travailler” et que vous devrez peut-être faire des efforts supplémentaires pour continuer à développer vos compétences.
À ce niveau, vous avez la responsabilité de continuer à vous pousser chaque jour à apprendre et à grandir et à vous mettre au défi d’aller plus vite et de créer de la valeur rapidement.
Ce qui est important pour l’entreprise est maintenant important pour vous
En fin de compte, c’est le principe le plus important à poursuivre en tant qu’ingénieur senior et essentiel pour la prochaine génération de talents.
Ne pensez pas que vous êtes juste là pour faire ce qu’on vous dit ou bouder lorsque vous travaillez sur un projet que vous n’aimez pas. Nous sommes tous dans ce métier pour apporter des solutions là où elles sont attendues, et nous devons continuer à le faire. Parfois, c’est le travail d’un ingénieur logiciel de mettre son nez dans les choses et de découvrir ce qui empêche son entreprise de fournir plus de valeur et de justifier sa création.
Il n’est peut-être pas possible de résoudre tous les gros problèmes qu’une organisation ou des utilisateurs pourraient rencontrer, mais vous pouvez commencer quelque part. La meilleure approche que vous puissiez adopter est d’agir comme un bon éclaireur et de laisser l’endroit en meilleur état que vous ne l’avez trouvé. Prenez les devants et inspirez les autres à suivre vos pas.