IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

10 commandements pour l'excellence du génie logiciel
Par Mensur Durakovic

Le , par Mensur Durakovic

0PARTAGES

3  0 
10 commandements pour l'excellence du génie logiciel, par Mensur Durakovic


Tout ingénieur logiciel se heurte à cette barrière familière.

Vous avez maîtrisé vos tâches quotidiennes, appris la base de code et êtes devenu un membre fiable de l'équipe. Pourtant, il manque quelque chose. Ce sentiment tenace que vous pourriez faire plus, réaliser plus et évoluer plus rapidement.

J'ai récemment eu cette conversation avec un ami qui se posait la même question : Quelle est la prochaine étape ?

Une fois que la courbe d'apprentissage initiale s'est aplatie - généralement entre six mois et un an dans un poste - de nombreux ingénieurs se retrouvent à la recherche de ce petit plus qui les fera passer du statut de bons à celui d'exceptionnels.

Si vous vous êtes déjà demandé comment passer au niveau supérieur ou ce qu'il faut faire pour obtenir une promotion, vous n'êtes pas seul. Ce défi universel de l'ingénierie logicielle a des solutions concrètes.

Voici ce que vous pouvez faire pour franchir cette étape.

1) Fournir des résultats de manière cohérente

S'il est admirable de viser l'excellence technique, ce qui compte vraiment, c'est la capacité à fournir des solutions fonctionnelles de manière cohérente.

Les ingénieurs logiciels les plus efficaces savent comment se concentrer sur la résolution rapide de problèmes réels. Ils font passer les projets du concept à l'achèvement, même lorsque les conditions ne sont pas idéales. En outre, ils livrent régulièrement du code fonctionnel, sachant que la livraison dans les délais impartis l'emporte souvent sur la perfection technique.

Le monde des affaires ne fonctionne pas avec de bonnes intentions ou des travaux en cours.

Vos utilisateurs ne peuvent pas bénéficier des fonctionnalités étonnantes qui se trouvent dans votre branche de développement. Une solution simple qui fonctionne et résout des problèmes aujourd'hui est infiniment plus précieuse qu'un système théoriquement parfait qui est perpétuellement "presque prêt".

Le succès en ingénierie logicielle ne se mesure pas au nombre d'heures passées à travailler ou à la sophistication de votre code - il se mesure à ce que vous livrez.

La clé est de trouver l'équilibre entre qualité et rapidité, entre perfection et pragmatisme.

Soyez l'ingénieur qui fait avancer les choses tout en maintenant des normes raisonnables, et non celui qui peaufine éternellement un code qui ne verra jamais le jour.

Soyez cohérent dans vos livraisons. Soyez la personne dont l'équipe peut être sûre qu'elle sera à la hauteur. Soyez le type que décrit Snoop :



2) Faire passer les valeurs de l'entreprise en premier

Vos compétences en programmation n'ont de valeur que si elles permettent de résoudre des problèmes professionnels réels. Aussi élégant ou techniquement impressionnant que soit votre code, il n'a de valeur que s'il répond à des besoins réels et crée de la valeur pour votre entreprise.

De nombreux ingénieurs logiciels talentueux tombent dans le piège de la création de fonctionnalités que personne n'a demandées, passant des semaines à perfectionner un code qui finit par être inutilisé. Parfois, ils refont inutilement des systèmes fonctionnels alors que la solution existante fonctionne parfaitement ou s'attaquent à des problèmes techniques qui n'ont pas d'importance pour les parties prenantes ou qui n'ont pas d'impact sur les valeurs de l'entreprise.

Avant de plonger dans le code, prenez du recul et réfléchissez à l'impact réel de votre travail. Résolvez-vous un problème réel ? Cela fera-t-il une différence pour vos utilisateurs ou votre entreprise ?

Les bons ingénieurs proposent des solutions qui font avancer l'entreprise.

3) Jouez à fond la carte de la collaboration en équipe

Le mythe de l'ingénieur logiciel solitaire brillant qui sauve la situation grâce à des efforts héroïques en solo n'est pas seulement dépassé. Il est dangereux pour le développement moderne de logiciels.

Les ingénieurs exceptionnels comprennent que la véritable force vient de la collaboration. Cette collaboration peut se résumer à

  • maintenir une communication transparente sur le travail.
  • tenir les coéquipiers et les parties prenantes informés des progrès, des défis et des décisions.
  • discuter avant d'écrire le code
  • recueillir des informations et d'autres points de vue qui peuvent permettre d'éviter des erreurs coûteuses ou des reprises.
  • en cherchant à obtenir un retour d'information de la part des membres de l'équipe
  • en reconnaissant que la diversité des points de vue conduit à des solutions plus robustes et plus faciles à maintenir.


Chaque ligne de code que vous écrivez sera un jour lue, maintenue ou modifiée par vos coéquipiers.


L' "ingénieur logiciel héros" qui travaille de manière isolée peut sembler productif à court terme, mais il crée souvent des silos de connaissances. Ces ingénieurs introduisent des risques inattendus et laissent derrière eux un code que personne d'autre ne comprend.

Les meilleurs logiciels sont élaborés par des équipes collaboratives qui partagent leurs connaissances, remettent en question les hypothèses et se soutiennent mutuellement dans leur travail.

Votre code peut fonctionner aujourd'hui, mais il doit servir à votre équipe demain.

4) Protégez votre bande passante mentale

Votre capacité à écrire d'excellents codes et à résoudre des problèmes complexes dépend d'une ressource essentielle : votre attention.

Dans notre environnement d'ingénierie hyperconnecté, il est essentiel de protéger son attention pour obtenir des performances optimales.

Il existe plusieurs façons d'y parvenir :

  • Réservez des plages de temps ininterrompues pour un travail approfondi et considérez ces périodes comme des rendez-vous avec les tâches les plus importantes.
  • Apprendre à refuser diplomatiquement les réunions et les interruptions non essentielles, comprendre que chaque changement de contexte s'accompagne d'un coût mental important.
  • Résistez à la tentation de courir après chaque nouvelle chose, technologie ou outil qui apparaît, restez concentré sur la maîtrise des compétences et l'accomplissement du travail qui compte vraiment.

Le nombre d'heures que vous passez sur votre clavier importe beaucoup moins que la qualité de votre concentration mentale pendant ces heures. Une seule heure de travail profondément concentré peut produire des résultats plus précieux qu'une journée entière d'efforts fragmentés et distraits.


Dans un secteur où les notifications, les réunions et les nouvelles technologies ne cessent de se succéder, votre capacité à rester concentré est votre arme principale. Protégez-la avec autant de soin que vous le feriez pour vos références en matière de production.

5) Stimulez votre équipe

Les ingénieurs les plus précieux stimulent l'ensemble de l'équipe qui les entoure. Ils comprennent que leur impact provient de la multiplication de l'efficacité des autres, et pas seulement de leurs contributions.

Les grands ingénieurs logiciels partagent systématiquement leurs connaissances de manière ouverte et enthousiaste, sans jamais thésauriser l'information pour des raisons de sécurité d'emploi. Ils prennent le temps de guider et de soutenir les membres de l'équipe moins expérimentés. Ils savent que le junior d'aujourd'hui est le senior de demain. Ils créent une documentation complète et accessible qui aide les autres à comprendre et à maintenir la base de code longtemps après leur départ.

Plus vous aidez les autres à se développer, plus vous devenez indispensable. La véritable sécurité de l'emploi ne vient pas du fait d'être le seul à comprendre un système - elle vient du fait d'être la personne qui permet à tous ceux qui l'entourent de s'améliorer.

Les ingénieurs les plus respectés sont des enseignants, des mentors et des multiplicateurs d'équipe qui ont un impact positif sur la culture d'ingénierie de leur organisation.

6) Accueillir le retour d'information

Le chemin le plus rapide vers l'excellence en ingénierie passe par le retour d'information des personnes qui vous entourent. Chaque révision de code, chaque suggestion et chaque critique est essentiellement un mentorat gratuit qui attend d'être débloqué.

Les ingénieurs logiciels qui réussissent transforment leur relation avec le retour d'information en recherchant activement les critiques constructives sur leur travail. Ils reconnaissent que chaque commentaire est une occasion d'apprendre et de s'améliorer, et non une attaque personnelle.


Les bons ingénieurs logiciels mettent en œuvre les changements suggérés avec un esprit ouvert.

Ils comprennent que la capacité d'adaptation et la volonté d'amélioration sont cruciales pour une réussite à long terme. Une bonne pratique consiste à approfondir le retour d'information en posant des questions de suivi réfléchies. Ces questions transforment de simples suggestions en enseignements précieux.

Au début de notre carrière, nous sommes nombreux à être sur la défensive en ce qui concerne notre code. Il est naturel de se sentir protégé par quelque chose que l'on a travaillé dur à créer. La croissance professionnelle la plus rapide se produit lorsque vous mettez votre ego de côté et que vous écoutez vraiment ce que les autres vous disent.

Votre code n'est pas vous.

La critique de votre travail n'est pas une critique de votre valeur en tant qu'ingénieur logiciel.

Les ingénieurs les plus respectés sont ceux qui font constamment preuve d'humilité, acceptent les commentaires et s'en servent pour s'améliorer.

7) S'approprier le projet de manière proactive

Ce qui distingue vraiment les ingénieurs exceptionnels, c'est leur capacité à s'approprier complètement leurs projets.

Ils comprennent que l'écriture du code n'est qu'une partie de l'équation. D'autre part, la gestion des attentes et le maintien de canaux de communication clairs sont tout aussi essentiels.

Les ingénieurs logiciels d'exception pratiquent constamment cet exercice en identifiant et en communiquant les obstacles potentiels :

  • en identifiant et en communiquant les obstacles potentiels avant qu'ils ne deviennent des problèmes critiques, ce qui donne à l'équipe le temps de s'adapter et de planifier
  • en maintenant une communication claire avec leurs supérieurs, en s'assurant que tout le monde comprend l'état d'avancement du projet, les défis et les besoins
  • en prenant l'initiative de partager des mises à jour régulières et des rapports d'avancement, sans jamais attendre qu'on leur demande des informations.

En réalité, la plupart des échecs de projets ne sont pas dus à des problèmes techniques, mais à une mauvaise communication et à un manque d'appropriation. Lorsque vous gérez vos projets de manière proactive, vous ne vous contentez pas de coder, vous renforcez la confiance de vos supérieurs et des membres de votre équipe.

Les meilleurs ingénieurs sont reconnus pour leur fiabilité, leur transparence et leur capacité à maintenir les projets sur la bonne voie grâce à une communication claire et proactive.

8) Communication technique

Si les compétences en matière de codage peuvent vous permettre de décrocher un emploi, c'est votre capacité à communiquer efficacement qui définira votre trajectoire professionnelle.

Les ingénieurs les plus performants comprennent que leur impact va bien au-delà de leurs contributions techniques.

Les grands ingénieurs excellent dans la rédaction de communications écrites claires et concises que tout le monde peut comprendre, qu'il s'agisse de documentation, de courriels ou de propositions de projet.

Ils décomposent les concepts techniques compliqués en éléments digestes, les rendant accessibles à la fois aux collègues techniques et non techniques.


En outre, ils dirigent les discussions techniques avec assurance, en veillant à ce que les conversations soient ciblées et productives, tout en s'assurant que la voix de chacun est entendue.

Vous pouvez être l'ingénieur logiciel le plus brillant de la salle, mais votre impact sera toujours limité si vous ne pouvez pas communiquer efficacement vos idées. La capacité à traduire la complexité technique en idées claires et exploitables est ce qui transforme les bons ingénieurs en grands ingénieurs.

9) Apprendre tout au long de la vie

Les compétences techniques sont essentielles, mais le paysage technologique est en perpétuel mouvement. Ce que vous savez aujourd'hui évoluera probablement demain. Votre capacité à apprendre et à vous adapter est votre plus grand atout. Il ne s'agit pas de connaissances statiques, mais d'un apprentissage dynamique et adaptatif.

Les meilleurs ingénieurs donnent la priorité à l'apprentissage :

  • Les projets pratiques : Ce sont vos laboratoires. Expérimentez, construisez et consolidez votre compréhension par des applications pratiques.
  • Apprentissage ciblé : Restez au courant des principales tendances et technologies grâce à des blogs, des articles et des cours ciblés.
  • Nouveaux projets et nouvelles technologies : ne vous contentez pas de faire cavalier seul, apprenez et soyez ouvert aux nouvelles technologies.

Vous êtes peut-être un magicien du codage, mais l'apprentissage continu est le moteur de la réussite à long terme. C'est le moteur de votre carrière, qui vous permet de rester pertinent et demandé.

Relevez le défi, soyez ouvert au changement, cultivez vos habitudes d'apprentissage et observez votre évolution.

10) Cultiver l'empathie

Le développement de logiciels est un effort de collaboration impliquant des collègues, des chefs de projet, des clients et, en fin de compte, des utilisateurs.

Les grands ingénieurs logiciels le comprennent et construisent des relations solides basées sur l'empathie et le respect mutuel.

Les ingénieurs exceptionnels prennent en compte les besoins et les priorités de toutes les personnes impliquées. Les chefs de projet ont besoin de délais et de résultats clairs. Les clients ont besoin de solutions qui répondent à leurs objectifs commerciaux. Les collègues ont besoin de soutien et d'une communication ouverte. Efforcez-vous de comprendre chaque point de vue et de trouver un terrain d'entente.

Écoutez vraiment ce que disent vos collègues, vos clients et les chefs de projet. Posez des questions de clarification et assurez-vous de comprendre leurs préoccupations. Participez activement à la conversation.

Offrez un retour d'information spécifique, exploitable et respectueux. Concentrez-vous sur le travail et non sur la personne. Soyez attentif à votre ton et efforcez-vous d'être utile et non critique.

Soyez fiable, tenez vos engagements et communiquez de manière transparente. Lorsque vous instaurez un climat de confiance avec vos collègues et les parties prenantes, vous créez un environnement de travail plus positif et plus productif.

Votre réussite dépend de votre capacité à travailler efficacement avec les autres. L'empathie est le fondement de relations solides. C'est ce qui vous permet de collaborer efficacement, de faire face à des situations difficiles et de créer des logiciels qui répondent réellement aux besoins de toutes les personnes concernées.

Ne soyez pas comme Dwight.


Source : 10 Commandments For Software Engineering Excellence

Et vous ?

Pensez-vous que ces recommandations sont crédibles ou pertinentes ?
Quel est votre avis sur le sujet ?

Voir aussi :

Le Manifeste anti-héritage : Écrire du code qui dure, par Mensur Durakovic

Les tueurs et les stimulateurs de productivité pour les ingénieurs en informatique, par Mensur Durakovic

L'illusion de l'ingénieur sénior : Ce que je pensais et ce que j'ai appris, par Mensur Durakovic
Vous avez lu gratuitement 4 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !