20 choses apprises en 20 ans comme ingénieur logiciel
(simplethread.com)- Je ne sais toujours pas grand-chose : nous sommes des gens qui doivent apprendre toute leur vie
- La chose la plus importante en développement logiciel, c'est de construire ce dont on a besoin
- Les meilleurs ingénieurs logiciels pensent comme des designers
- Le meilleur code est l'absence de code, ou du code qu'il n'est pas nécessaire de maintenir
- Le logiciel est un moyen au service d'un objectif
- Parfois, il faut arrêter d'aiguiser la lame et commencer à couper quelque chose
- Si l'on ne comprend pas bien ce qui est possible, on ne peut pas concevoir un bon système
- Tous les systèmes finissent par devenir agaçants, alors il faut faire avec
- Personne ne pose suffisamment la question du « pourquoi »
- Nous devrions bien plus nous concentrer sur le fait d'éviter les programmeurs à 0,1x que sur la recherche de programmeurs à 10x
- La plus grande différence entre un ingénieur senior et un ingénieur junior, c'est d'avoir ou non forgé ses propres opinions sur les outils et sur la manière d'écrire des logiciels
- Les gens ne veulent pas vraiment de l'innovation
- Vos données sont la partie la plus importante de votre système
- Cherchez des requins technologiques (des technologies qui survivent longtemps malgré des changements rapides)
- Ne confondez pas humilité et ignorance
- Les ingénieurs logiciels devraient écrire régulièrement
- Gardez les processus aussi concis que possible, dans un esprit Lean
- Les ingénieurs logiciels aussi doivent ressentir un sentiment d'appropriation, comme tous les êtres humains
- On ne peut pas savoir en entretien si un candidat sera un bon coéquipier
- Efforcez-vous toujours de construire des systèmes plus petits
Important
- Au début de cet article figure cet avertissement.
Lorsque vous lisez un « blog plein de conseils », la plupart des conseils sont contextuels, mais beaucoup sont transmis sans ce contexte
Un conseil dont on ne comprend pas le contexte est dénué de sens, voire nuisible - C'est pourquoi l'auteur a ajouté quelques explications sur son propre contexte :
- Pendant la première moitié de sa carrière, il a travaillé dans des PME/startup, puis a rejoint une société de conseil pour travailler sur des sujets liés aux grandes entreprises
- Il a ensuite fondé SimpleThread et l'a fait passer de 2 à 25 personnes
- Il y a 10 ans, il travaillait surtout avec des PME ; aujourd'hui, il travaille avec un mélange de grandes entreprises et de PME
- Donc, pour sa part :
- Il a toujours travaillé dans de petites équipes Lean, où il fallait faire beaucoup de choses en partant de très peu
- Il accorde plus d'importance au « logiciel qui fonctionne » qu'à un outil particulier
- Il lance sans cesse de nouveaux projets, tout en devant maintenir plusieurs systèmes
- Il valorise la productivité des ingénieurs plus que la plupart des autres considérations
- Gardez ce contexte à l'esprit en lisant les points ci-dessus. Seuls les titres ont été repris ici ; pour le détail, reportez-vous au texte original.
14 commentaires
Je viendrai le lire une fois par jour. 23/06/04
Ceci
me semble mieux.
Le plus important dans le développement logiciel, c’est de créer ce qui est
nécessaireCela paraît préférable.
C’est bien, merci~ !
Les gens ne veulent pas vraiment d’innovation <- qu’est-ce que ça veut dire ?
Les gens parlent d’innovation, mais dans la réalité, quand on apporte quelque chose de véritablement innovant, on reçoit le plus souvent des retours négatifs. Il faut donc avancer avec une vision de long terme.
Cet avertissement parle vraiment.
Waouh, c'est vraiment un très bon article...
Les requins techniques, cela signifie moins des technologies « obsolètes » que des technologies éprouvées et stables, n’est-ce pas ?
Ah, la formulation était un peu étrange. Je l’ai corrigée.
C'est un bon article.
J’ai vraiment apprécié les passages que vous avez signalés séparément comme « importants ». Notamment parce que cela apportait aussi du contexte.
Ah, c’est bien mieux. J’ai corrigé.