C’est dans ce contexte qu’a été proposée l’étude menée par l’Université de Washington auprès d’une cinquantaine d’ingénieurs disposant d’une certaine expérience.
Elle a été menée sur trois axes :
- Quels sont les attributs qui seraient essentiels pour être qualifié d’excellent ingénieur logiciel pour les experts de cette discipline ?
- Pourquoi ces attributs sont-ils importants pour l'ingénierie logicielle ?
- Comment ces attributs sont-ils reliés les uns aux autres ?
Les attributs
Dans la personnalité
La recherche de l’amélioration
Les grands ingénieurs ont été décrits comme des personnes à la recherche de l’amélioration : n’étant pas satisfaits du statu quo, ils cherchent constamment à améliorer eux-mêmes, leur produit et/ou leur environnement.
Les experts pensent que ces ingénieurs n'ont pas commencé leur carrière en étant excellents, mais qu’il s’agissait de jeunes ingénieurs qui avaient besoin d'apprendre et de s'améliorer.
Ils ont également estimé que, parce que le domaine du logiciel évolue rapidement, à moins que les ingénieurs ne continuent d’apprendre, ils ne pourraient pas devenir (ou ne parviendraient pas à demeurer) de bons ingénieurs en logiciel.
D’où la notion de courir sur un escalator infini qui est très répandue parmi les experts : « La technologie informatique, comparée à d'autres sciences ou technologies, est jeune et jolie. Chaque année, il y a de nouvelles technologies, de nouvelles idées. Si vous êtes seulement satisfait de choses que vous avez déjà apprises, alors vous trouverez probablement dans quelques années que vous êtes passé de mode… un bon ingénieur logiciel [sic] n’a de cesse de continuer à faire des recherches, à s’investir. »
La passion
Les experts ont décrit les grands ingénieurs comme étant des passionnés : intrinsèquement intéressés par le domaine dans lequel ils travaillent et non juste pour les récompenses extrinsèques comme l'argent. Les experts ont estimé que l'ingénierie logicielle exigeait un ajustement serré entre la passion de la personne et son projet de fournir de la bonne qualité.
D’ailleurs, l’un d’eux a déclaré : « Je pense qu'il y a des gens qui sont de bons ingénieurs en logiciel qui sont au mauvais endroit et ne sont pas motivés. Aussi, ils finissent par avoir de mauvaises performances. »
L’ouverture d'esprit
Les experts ont décrit les grands ingénieurs comme étant ouverts : prêt à laisser judicieusement de nouvelles informations changer la façon dont ils pensent, qui ne prennent pas leur compréhension actuelle comme une parole d’évangile.
Une qualité qui s’avère cruciale dans la mesure où ils ont insisté sur le fait que les résultats en génie logiciel (par exemple, les réactions des utilisateurs ou un succès commercial) étaient difficiles à prévoir : « Vous devriez être ouvert ... ce que vous pensez ne doit pas nécessairement être la bonne chose demain ... comme l'explosion de Facebook, alors que MySpace était déjà là, mais Facebook a connu du succès. Pourtant, personne ne savait que Facebook aurait un tel succès lorsqu’il a été lancé. »
Être axé sur les données
Plusieurs experts ont décrit les grands ingénieurs comme étant axés sur les données : ils prennent le temps d’évaluer les mesures de leurs actions et du produit, créant des boucles de rétroaction comportementales pour optimiser les logiciels ainsi que les processus.
Pour les experts, si cela est possible, ces décisions doivent être basées sur les données et non sur une intuition quelconque ou des arguments. Une approche qui est considérée comme un moyen d'éviter des confirmations biaisées, mais les experts déplorent le fait que cette approche ne soit pas une panacée :
« Une chose qui me surprend : même si nous sommes guidés par les données, ou du moins nous croyons que nous le sommes, certaines données nous sont montrées et pourtant nous trouvons des moyens de les ignorer. Alors, peut-être que tout le monde pense être axés sur les données, mais j'ai vu des gens trouver des excuses pour expliquer pourquoi les données ne s'appliquent pas à eux. Je l'ai vu un million de fois. »
Attributs d'un bon ingénieur dans sa personnalité
Dans la prise de décision
Ici, les ingénieurs ont cité neuf attributs dans la capacité d’un « bon ingénieur » à décider.
Avoir des connaissances sur les personnes et l'organisation
Cela inclut d'être informé sur les responsabilités de leurs collègues ainsi que leurs connaissances et leurs tendances. Par exemple, savoir qui a une expertise dans tel domaine va permettre aux bons ingénieurs de se tourner vers la bonne personne pour demander de l’assistance, ou aider ceux qui sont à la tête d’une équipe à mieux combler les déficits qu’il peut y avoir entre collègues.
Voir la forêt et les arbres
Pour les experts, un bon ingénieur doit être capable de voir la forêt et les arbres, c’est-à-dire considérer les situations avec de multiples niveaux d’abstraction comme les détails techniques, les tendances de l’industrie, la vision de l’entreprise, les besoins des clients / de l’entreprise
Faire une mise à jour de leur modèle mental
Gérer la complexité
Attributs d'un bon ingénieur pour la prise de décision
Source : résultats de l'étude (au format PDF)
Et vous ?
Êtes-vous d'accord avec les attributs qui ont été choisis ?
Auriez-vous d'autres attributs à proposer ?
Auriez-vous envisagé d'autres axes de réflexion sur le sujet ? Lesquels ?
Voir aussi :
Une société de recrutement raconte l'histoire d'ingénieurs rejetés malgré leur bon profil, pour des raisons autres que leurs performances