-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
First version of content_top-dev-blog-post
- Loading branch information
1 parent
e593938
commit a3f8c98
Showing
2 changed files
with
99 additions
and
2 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
--- | ||
layout: ../../layouts/ContentLayout.astro | ||
--- | ||
|
||
# Ce qui caractérise le top 20% des devs | ||
|
||
## Introduction | ||
|
||
Lorsque l'on parle des développeurs, il est fréquent de vouloir comprendre ce qui distingue les meilleurs, le fameux top 20%, du reste des développeurs. | ||
|
||
Que font-ils différemment ? | ||
|
||
Quels sont leurs traits de caractère, leurs habitudes ou leurs compétences spécifiques qui les propulsent au sommet de leur domaine ? | ||
|
||
Je suis Oumar, j’ai rejoins le monde de la programmation en septembre 2022 et c’est là tout un tas de question que je me suis posé (et que je me pose toujours d’ailleurs pour sainement progresser 😉). | ||
|
||
Je vous propose donc dans ce blog post de vous partager les conseils reçus, de mes paires plus “seniors”. Cela me sers beaucoup au quotidien et je l’espère vous servira également. Allez on se lance ! | ||
|
||
## Oui, la technique ça compte | ||
|
||
### La curiosité et la résilience | ||
|
||
Aussi technique soi le sujet cela ne les refrènent pas le moins du monde, c’est un nouvel obstacle parmi tant d’autres à surmonter. Cela est même souvent source de plaisir pour beaucoup. | ||
|
||
Notre métier est sacrément dur faut le dire et le reconnaître ! | ||
|
||
En effet, les meilleurs développeurs sont souvent des personnes curieuses-résilientes (j’insiste sur la mise en commun de ces deux caractéristiques) qui s'intéressent à de nouvelles technologies, outils ou langages de programmation. Ils aiment expérimenter avec de nouvelles idées et ne se contentent pas de suivre les méthodes établies. Ils cherchent toujours à comprendre comment les choses fonctionnent en profondeur. C’est souvent de la que ressort l’un des deux groupes du top 20%, que j’entends souvent qualifier “d’innovateurs”. On parlera du second groupe, dans la prochaine caractéristique. | ||
|
||
### Approche orientée problème à la solution (et non l’inverse) | ||
|
||
Ils ont une approche orientée problème, ce qui signifie qu'ils se concentrent sur la résolution de problèmes spécifiques plutôt que sur l'application d'une technologie en elle-même. | ||
|
||
Ils choisissent les outils et les méthodes en fonction de ce qui est le mieux adapté pour résoudre le problème à portée de main. C’’est souvent de là que ressort ceux que j’appel (excusez mon anglicisme), les “problèmes solveurs” qui à force d’entrainer cette capacité de résolution de problème développent une vélocité cumulée à une efficacité qui en fait des développeurs hors norme. | ||
|
||
C’est le gars dans l’équipe (pas forcément le plus senior) à qui on pense dont on est quasi sûr qu’il résoudra aussi vite et proprement un problème qui nous aura pris un temps fou. | ||
|
||
### L’ Apprentissage Continu | ||
|
||
Etant un profil en reconversion venant de la finance, un élément m’a frappé dans ce nouveau monde fascinant. Tout le monde est à la recherche du One Piece (clin d’œil aux fan de mangas) et cela change la donne par rapport à la plupart des autres industries (dont la finance). | ||
|
||
Les développeurs du top 20% investissent régulièrement du temps pour améliorer leurs compétences. Ils participent à des formations, lisent des livres ou des articles techniques, suivent des conférences, et sont souvent impliqués dans des communautés technologiques. | ||
|
||
### Bonnes pratiques du métier | ||
|
||
Ils ont un sens aigu des bonnes pratiques de code. Ils écrivent du code clair, maintenable et bien structuré. Ils maîtrisent également les principes de conception logicielle, tels que SOLID, DRY (Don't Repeat Yourself) et KISS (Keep It Simple, Stupid), etc. | ||
|
||
N’importe quel client, chef d’entreprise, manager(euse) ou même collaborateur (trice), s’il devait choisir à capacités quasi équivalentes entre un développeur reconnu pour son respect/maitrise des bonnes pratiques et les autres... La réponse semble évidente en effet, mais on a tendance à l’oublier durant notre progression et l’on saute souvent trop vite des étapes cruciales pour forger cette compétence (moi le premier😅). | ||
|
||
## Mais il n’y a pas que la technique pour faire partir du top 20% | ||
|
||
### Travail en équipe | ||
|
||
On a assez parler technique là, car même pour chez les devs où c’est un sujet très important (et à juste titre faut le dire), il n’y a pas que la technique. | ||
|
||
Les meilleurs développeurs savent comment communiquer efficacement avec les différentes parties prenantes, qu'il s'agisse des clients/utilisateurs, d’autres collègues développeurs, de chefs de projet, ou de designers, etc. Ils sont capables de recevoir et de donner des feedbacks constructifs, et contribuent à la dynamique positive de l'équipe. | ||
|
||
Si vous en doutez regarder autour de vous la grande majorité des logiciels qui marchent réellement dont les gens veulent et qui résoudent des problèmes puis demander vous s’ils auraient eu la même portée coder par un excellent dev certes mais tout seul dans sa grotte ou mal accompagné. | ||
|
||
Votre compétence marginale aussi impressionnante soit-elle trouvera ses limites face à une équipe même moyenne mais soudée et qui travail correctement en équipe. Le marché tranchera et cela peut faire mal. | ||
|
||
### Focus sur l'impact | ||
|
||
Ils comprennent l'importance de l'impact de leur travail sur le produit final et sur l'utilisateur/client. Ils sont motivés par la création de valeur réelle, plutôt que par la simple écriture de code. | ||
|
||
C’est un point auquel, je suis particulièrement sensible. Au début, on passe quasi tous par la phase “pisseurs de code” comme on dit dans le jargon. Personnellement, je ne la vois pas systématiquement que d’un mauvais œil, c’est une partie intégrante d’une phase de progression, l’erreur serait d’y rester pire de penser que plus de code impressionnant on envoi, plus on est excellente. | ||
|
||
Une phrase de devs seniors avec qui j’ai échangé et qui m’a beaucoup marqué est la suivante : | ||
|
||
> “La meilleure ligne de code est celle que l’on n'écrit pas.” | ||
### Pragmatisme | ||
|
||
Les développeurs du top 20% sont pragmatiques. Ils savent faire la part des choses entre perfection et productivité. Ils comprennent quand il est nécessaire de faire des compromis pour avancer plus rapidement sans sacrifier la qualité du produit. | ||
|
||
C’est certainement la caractéristique sur laquelle j’aurais à le plus fournir d’effort. Etant à l’extrême perfectionniste, je vois littéralement comment cela est handicapant au quotidien. Si vous voulez faire partir des meilleurs vous devrez entrainer ce “soft skill” qui changera votre vie d’entrepreneur, de collaborateur, de freelance, etc. Pensez y vraiment, c’est dur mais nécessaire pour faire partir de la crème. | ||
|
||
### Responsabilité | ||
|
||
Enfin, ils prennent la responsabilité de leur travail. Ils sont conscients que chaque ligne de code qu'ils écrivent peut avoir des conséquences, et ils s'efforcent de produire un travail de qualité pour minimiser les bugs et les problèmes à long terme. | ||
|
||
C’est un sujet qui rejoint la partie caractéristique technique du respect/maitrise des bonnes pratiques du métier mais avec une touche d’éthique qui fait réellement la différence. | ||
|
||
Si comme moi, vous êtes naturellement à la recherche de sens dans tout ce que vous faites. Vous vous y trouverez forcément. Et si ce n’est pas le cas, vous devriez sérieusement y songer. Votre vous du futur dira merci à celui du présent, et cela entrainera un cercle vertueux qui fera de vous un dev du top tier. Autant pour vous même (confiance en soi, fierté du travail bien fait, se sentir utile, etc) mais aussi pour le monde extérieur, pairs-utilisateurs-clients (reconnaissance, utilisateurs satisfaits, évitement du pire, etc). | ||
|
||
## Conclusion | ||
|
||
Je suis assez convaincu que si vous êtes un développeur, vous avez sûrement déjà entendu 80% des caractéristiques mentionnées et ça parait toujours aussi bateau et vague pour vous. | ||
|
||
Comme moi, vous voulez surement du concret, quelque chose à se mettre sous la dent (et pas n’importe quelle dent, hein, celle d’un dev : on en fait pas des plus acérés). Je vous ai donc préparer deux outils que vous pouvez mettre en pratique dès maintenant. | ||
|
||
### Outil 1 : je pense à un formulaire Tally | ||
|
||
A FAIRE : L’objectif sera de permettre de s’évaluer sur les différentes compétences et traits qui distinguent les meilleurs développeurs. De demandez également à vos clients, managers, et pairs de vous évaluer afin de suivre votre progression. Et de comparer votre propre perception interne à l’interne. | ||
|
||
### Outil 2 : Plan d'action pour progresser | ||
|
||
A FAIRE : Une Checklist d’actions pratiques pour progresser. |