IA, code et design : pourquoi le plus important n’a pas changé
Posté le 21 janvier 2026 • 5 min de lecture • 999 motsLes outils d’IA savent écrire du code. Mais pourquoi le cœur du design logiciel reste un modèle mental humain, et ce que cela implique vraiment.

Les assistants de codage basés sur l’IA sont aujourd’hui capables de produire :
Face à cela, une question légitime se pose :
faut-il encore apprendre à coder, ou suffit-il d’apprendre le design et de laisser le reste à l’IA ?
Cette question est au cœur d’une vidéo intitulé ‘The Skill That Separates Good Developers from GREAT Ones ‘de Emily Bache, qui propose une réponse nuancée, profondément ancrée dans les fondamentaux de l’ingénierie logicielle.
Un point central rappelé dans la vidéo est que, contrairement à d’autres disciplines d’ingénierie, le logiciel ne sépare pas clairement :
Le code source est le design du logiciel.
Une fois écrit :
Le compilateur et la chaîne de build jouent le rôle de l’usine.
Le design, lui, réside dans le code.
Dans cette perspective, coder n’est pas une activité mécanique.
C’est une activité de conception.
Les tests et le débogage ne sont pas des étapes annexes :
Il n’est donc pas cohérent d’opposer apprentissage du code et apprentissage du design :
apprendre à coder, c’est apprendre à concevoir.
Emily Bache s’appuie sur les travaux de Peter Naur, qui décrivait la programmation comme une activité de construction de théorie.
Cette théorie correspond à :
Le design ne se limite donc pas à ce qui est stocké dans un dépôt Git.
Il inclut ce qui se trouve dans la tête des personnes qui travaillent sur le logiciel.
Un autre point fondamental abordé dans la vidéo est l’équivalence de Constantine, popularisée par Kent Beck :
Le coût du logiciel est essentiellement égal au coût de le faire évoluer.
Ce coût dépend fortement :
Plus un système est difficile à tenir mentalement, plus il est coûteux à modifier.
Les outils d’IA savent produire du code à partir :
Ils peuvent générer une solution fonctionnelle.
Ils participent donc, dans une certaine mesure, à la conception du code.
Mais un point essentiel demeure :
la théorie du système ne s’insère pas automatiquement dans la tête du développeur.
Ce que le développeur possède réellement, c’est :
Lorsque vient le moment de faire évoluer un système généré par une IA, deux options existent :
Dans le second cas, le développeur doit reconstruire le même modèle mental que pour du code écrit par un autre humain :
Comme l’a formulé Martin Fowler :
« N’importe qui peut écrire du code qu’un ordinateur comprend.
Les bons développeurs écrivent du code que les humains comprennent. »
Cette remarque reste valable, même à l’ère de l’IA.
La vidéo évoque des cas où des équipes utilisent l’IA comme une sorte de “compilateur avancé”, en programmant principalement via des prompts et des descriptions textuelles.
Dans ces situations :
Cette approche peut fonctionner dans certains contextes, mais elle soulève des questions importantes de passage à l’échelle, de cohérence et de maintenabilité à long terme.
Un constat central de la vidéo est que les compétences requises pour obtenir de bons résultats avec l’IA sont les mêmes que celles nécessaires sans elle :
L’IA n’élimine pas le besoin de design.
Elle rend même cette compétence encore plus visible.
La conclusion d’Emily Bache est claire.
Puisque :
alors apprendre à coder reste fondamental, en particulier en début de carrière.
C’est par l’expérience de l’écriture de code que l’on apprend à concevoir.
Les techniques de prompting évolueront rapidement.
Les compétences de design, elles, resteront toujours nécessaires.
L’IA change la manière dont nous écrivons du code,
mais elle ne change pas ce qui fait la valeur d’un bon ingénieur logiciel.
Le design reste une activité humaine,
car il repose sur la compréhension, le jugement
et la capacité à faire évoluer un système dans le temps.
Le code peut être généré.
La théorie du système, elle, doit toujours être construite.