L'Importance des Compétences en Communication pour un Senior Développeur
Dans le monde dynamique et en constante évolution du développement logiciel, les compétences techniques sont souvent mises en avant comme les plus cruciales pour réussir. Cependant, pour un senior développeur, les compétences en communication jouent un rôle tout aussi vital.
En tant que senior, vous n'êtes pas seulement là pour coder.
En tant que senior, l'une de vos tâches les plus importantes est de communiquer.
Une réflexion que je partage avec un expert du domaine
A part coder, Que fait un senior?
La communication est presque aussi importante pour un senior que le code, et pour un sénior, une communication claire et efficace est la plus importante. Bien sûr, la capacité à écrire un bon code reste nécessaire, mais ce n'est pas suffisant.
Voyons maintenant quel type de communications les seniors doivent entreprendre et pourquoi elles sont si importantes.
Les différentes formes de communication que nous allons aborder sont :
- Enseignement
- Explications
- Donner des directives
- Documentation
- Dire non
Enseignement
L'enseignement est avant tout une question de communication efficace. Bien que certains puissent dire que cela inclut la motivation, je préfère ne pas encadrer des personnes qui ont besoin d'être motivées. C'est pourquoi je ne considère pas la motivation dans ce contexte.
En tant que développeurs seniors, il est de notre responsabilité d'instruire la prochaine génération de développeurs. Cependant, nous devons rester humbles et apprendre également des autres, car nous avons tous des parcours et des expériences différents.
De nombreuses organisations intègrent l'enseignement dans nos responsabilités officielles, en assignant souvent des développeurs seniors ou presque seniors aux nouveaux arrivants en tant que compagnons, tuteurs ou mentors. Les compagnons et les tuteurs, généralement issus de la même équipe, aident les nouveaux à s'intégrer et à bien faire leur travail. Les mentors, provenant parfois d'autres domaines, se concentrent davantage sur le développement des compétences que sur l'intégration dans une équipe donnée.
Même sans cette officialisation, l'enseignement se fait naturellement. À travers les revues de code, les présentations de partage de connaissances ou simplement les discussions, vous enseignerez de bons exemples.
Ne pensez pas que les gens viendront vous voir uniquement pour des sujets techniques. On demande souvent des conseils de carrière ou des stratégies pour gérer certaines personnes et situations. Plus vous êtes senior, plus vous devrez gérer des problèmes non techniques, et d'autres chercheront vos conseils sur ces sujets également.
Si vous avez la chance de bénéficier d'un mentorat, saisissez-la, car cela peut vous fournir les éléments nécessaires pour atteindre vos objectifs.
Explications
Lorsque vous expliquez, pensez à ce qui est important pour l'autre partie et concentrez-vous sur ces points.
Lors de l'enseignement, vous éduquez principalement des pairs à un niveau similaire ou inférieur, afin qu'ils puissent accomplir les mêmes tâches. Cependant, il y a des moments où vous devez partager vos connaissances d'une manière différente et avec un objectif distinct.
Parfois, il est nécessaire d'expliquer pourquoi une solution est bonne ou mauvaise sans enseigner comment l'appliquer. Vous devez travailler avec des personnes techniques et non techniques, et être capable de communiquer clairement en tenant compte des connaissances et du contexte de votre interlocuteur.
Le plus important est d'adapter le niveau de détail en fonction de votre interlocuteur. Vous devez expliquer de manière compréhensible et intéressante pour eux. Par exemple, lorsque vous discutez de la technologie de base de données à choisir, vos coéquipiers voudront savoir comment effectuer une requête, tandis que votre manager technique s'intéressera aux détails techniques. Votre homologue commercial, en revanche, se concentrera sur l'impact sur le client et les coûts.
Donner des directives
Donner des directives est une forme de communication légèrement différente. Un bon manager ne cherche pas à être la personne la plus intelligente de la pièce ni à prendre des décisions basées uniquement sur ses propres connaissances et intuitions. Il préfère recevoir des directives et des recommandations.
En tant que développeur senior, vous devez être capable de fournir ces directives, qu'elles soient orales ou écrites. Exprimez clairement vos points principaux, détaillez les avantages et les inconvénients, et n'ayez pas peur de mentionner les points ouverts, les choses que vous ignorez ou n'avez pas encore approfondies.
Il est tout aussi important de partager l'inconnu que le connu. Peut-être que d'autres membres de l'équipe ont des réponses, ou bien cela permettra de déterminer ce qui doit être recherché et mis en avant dans les étapes suivantes.
Rappelez-vous que nous ne pouvons pas tout savoir et maîtriser tous les détails. Beaucoup essaient de se donner l'image de quelqu'un qui sait tout, mais il est plus crédible d'être honnête et de partager ce que vous ne savez pas.
Documentation
La documentation est souvent négligée dans les équipes de développement, mais pour la maintenabilité, il est essentiel de disposer de documents à jour et suffisamment détaillés.
Le logiciel fonctionnel est plus important qu'une documentation exhaustive, mais cela ne signifie pas que la documentation peut être complètement ignorée.
Il n'est pas nécessaire de documenter toutes les petites décisions ou de tenir un journal de chaque réunion. Cependant, les décisions architecturales doivent être consignées, et le code doit également être documenté.
Ce sujet est controversé, mais je suis d'avis que le code doit être de préférence auto documenté avec des entités bien nommées et des tests unitaires. Certains commentaires sont utiles et même nécessaires. Les commentaires dans le code ne devraient jamais expliquer ce que fait le code, mais plutôt pourquoi certaines décisions ont été prises.
En tant que senior, vous devez montrer l'exemple dans tous les aspects de votre travail, y compris la documentation.
Si vous avez des difficultés à écrire, pratiquez. Observez comment sont rédigés les e-mails, les mémos et les procès-verbaux, puis proposez-vous pour en rédiger vous-même. Ou commencez un blog et voyez où cela vous mène.
Dire non
En tant que développeur senior, il vous arrivera de devoir aller au-delà de simplement partager votre opinion. Si vous êtes convaincu qu'une action ne fonctionnera pas, qu'elle est contraire à l'éthique ou que votre direction prend un mauvais chemin, vous devez avoir le courage de dire non.
Non, ce n'est pas correct. Non, cela va échouer. Expliquez vos raisons et indiquez clairement que vous n'êtes pas prêt à suivre cette voie.
Ce courage implique quelques éléments. Vous ne pouvez pas jouer cette carte souvent. Si vous pensez toujours avoir raison ou si vous n'êtes jamais prêt à faire des compromis, évitez de jouer cette carte.
Cependant, si vous êtes raisonnable, gardez ceci à l'esprit : dire non signifie que vous devez être prêt à en assumer les conséquences, y compris partir si nécessaire.
Si aucune des parties ne peut être convaincue, vous avez deux choix : faire ce qu'on vous demande sans y croire ou vous lever et partir. Vous savez lequel est le bon choix.
Pour être capable de dire non, vous devez être suffisamment compétent pour toujours avoir des options. Rappelez-vous, les désaccords professionnels ne doivent pas devenir personnels. Les conflits professionnels ne devraient pas affecter les relations personnelles.
Conclusion
Être un développeur senior ne concerne pas seulement la programmation. Plus vous progressez dans votre carrière, moins votre responsabilité tourne autour du code. Au fur et à mesure, la communication devient de plus en plus importante, tant à l'oral qu'à l'écrit. Elle prend différentes formes : documentation, enseignement, partage de connaissances. Il est essentiel d'adapter votre communication en fonction des personnes et de leurs besoins spécifiques. En résumé, la clé pour un senior est de maîtriser autant la communication que la programmation.
TakkJokk