Essai de Carson Gross, professeur au département d’informatique de la Montana State University et créateur de htmx, qui répond à la question « Faut-il encore envisager la programmation comme carrière à l’ère de l’IA ? » par « Yes, and… (Oui, et…) ».
« Yes » — Oui
- L’essence de la programmation, c’est la résolution de problèmes à l’aide d’ordinateurs + la maîtrise de la complexité. Il est difficile d’imaginer un futur où cette capacité aurait moins de valeur
- Mais l’IA représente un risque pour les juniors. Si l’on n’écrit pas soi-même le code, on finit par ne plus savoir le lire non plus
- Sans capacité à lire le code, on tombe dans le « piège de l’apprenti sorcier » — à produire des systèmes qu’on ne comprend ni ne contrôle
Le passage du code au prompting n’est pas comparable au passage de l’assembleur aux langages de haut niveau
- Un compilateur est déterministe (
deterministic), mais pas un LLM - Les langages de haut niveau ont supprimé une complexité accidentelle (
accidental complexity), alors que le code généré par les LLM ajoute souvent au contraire de la complexité accidentelle
L’IA n’est pas un générateur de code, mais un excellent chargé de TD (TA)
- Utilisée comme partenaire pour comprendre des concepts et des techniques, elle est efficace pour la progression intellectuelle
- Elle est particulièrement utile pour franchir les blocages liés à la complexité accidentelle
- En partageant un fichier
AGENTS.md, on peut configurer l’IA pour qu’elle joue le rôle d’un chargé de TD plutôt que celui d’un générateur de code
« and… » — Et
La pure compétence en codage pourrait devenir moins importante
- À la place, certaines compétences vont gagner en importance :
- Capacité de communication — savoir écrire clairement et communiquer, aussi bien avec les LLM qu’avec les humains. Lire des livres et écrire des essais peut aider
- Compréhension du business — la vision côté business selon laquelle « on n’a pas besoin de programmeurs », tout comme la vision côté programmeurs selon laquelle « on n’a pas besoin des gens du business », sont toutes deux myopes. L’IA offre l’occasion de mieux comprendre les problèmes du monde réel
- Architecture système — la capacité à maîtriser la complexité de systèmes à grande échelle. Cela dit, la plupart des mauvais architectes manquaient d’expérience en codage
Seniors vs juniors dans l’usage des LLM
- Seniors : les utilisent pour l’analyse de code, structurer leur réflexion, générer de petits fragments de code, produire du code ingrat (regex, CSS), du code d’exploration, des suggestions de tests, etc. Ils ne leur demandent pas de produire des solutions complètes. Ils ne leur confient jamais la conception d’API
- Juniors : doivent résister à la tentation du vibe coding. À long terme, privilégier la compréhension plutôt que la vitesse est gagnant. Les entreprises comprendront bientôt, elles aussi, le problème d’explosion de complexité du vibe coding
Conseils de recherche d’emploi — la stratégie des 4F
- Les sites d’emploi en ligne relèvent presque de la loterie
- 4F : Family (famille), Friends (amis), Family of Friends (famille des amis)
- Ce n’est pas nécessairement une grande entreprise tech. À partir de 100 employés, la plupart des entreprises ont une organisation de développement
- Exemple du siège de Costco : entrer grâce au réseau familial, commencer comme analyste, puis ajouter des compétences en programmation en fait un profil très précieux
Conclusion
Les fondamentaux de la programmation, en particulier la capacité à écrire du bon code et à maîtriser la complexité, resteront importants pour toujours. Le marasme du marché de l’emploi est temporaire. Et aux entreprises : laissez les juniors écrire eux-mêmes du code.
Aucun commentaire pour le moment.