420 lectures
420 lectures

Pariez sur l’avenir du développement logiciel

par Maksim Balabash8m2025/06/02
Read on Terminal Reader

Trop long; Pour lire

Les développeurs d’aujourd’hui ont beaucoup plus d’outils avancés, et les nouveaux arrivants seront une génération de développeurs qui peuvent accomplir beaucoup plus par eux-mêmes que toutes les générations précédentes.
featured image - Pariez sur l’avenir du développement logiciel
Maksim Balabash HackerNoon profile picture
0-item

Lorsque vous allez dans un bar avec un ami qui travaille dans l'informatique, vous finissez inévitablement par discuter des affaires actuelles dans l'industrie.just a few general observations we both made:

  • besides the usual impostor syndrome that many software developers have, there's also a lot of anxiety about all the chatter around AI taking over jobs

  • leaders and managers can’t help but get into conversations about how much of a performance boost (and when) to expect from developers, whether it’ll be x10, x40 or x200

  • at the same time, the push for AI adoption makes both tears and laughter

  • everywhere you look, you can find many near-absurd product features that use AI only to justify that it is from an AI-first company

  • drought and nervous foot tapping are common in the startup world, yet discussing them is often considered bad form

  • hiring is becoming increasingly difficult for everyone, especially for people just starting out in their careers


In these days of agentification of everything, I recall with warmth the hype surrounding blockchain


One of the biggest concerns about the impact of hype surrounding AI is that it could discourage new people from entering the software development industry.


"Ce n'est plus un travail créatif; apprendre le développement de logiciels aujourd'hui est une arnaque pour les imbéciles; le jeu est résolu" (ce genre de rumeurs).

"This is no longer creative work; learning software development today is a scam for fools; the game is solved" (this kind of rumors).

« Ce n’est plus un travail créatif ; apprendre le développement de logiciels aujourd’hui est une arnaque pour les imbéciles ; le jeu est résolu. »


Pour maintenir l'industrie technologique en mouvement, il est essentiel de transférer des connaissances sur la façon dont les choses fonctionnent et d'aider les nouveaux arrivants à acquérir les compétences dont ils ont besoin pour garder tout en marche et faire progresser davantage la technologie (Jonathan Blow a bien exprimé cette idéedans son discours).


Pourtant, pour moi, cela ressemble au développement web d'environ 2008 à 2014 plutôt que le boom PC des années 1980 (une expansion, plutôt qu'une toute nouvelle catégorie).


À l'époque, il y avait des tonnes de façons d'obtenir les bases. Chaque semaine, il semblait que nous essayions une nouvelle façon de faire les choses. C'est similaire à l'ingénierie d'IA actuelle, où un nouvel outil, un modèle, une approche, une référence, un cadre ou une entreprise émerge chaque semaine, affirmant qu'ils sont sur le point de révolutionner tout.


Past and Present


Pas d'injure, mais pour moi, des outils commeDevinIl y a beaucoup de choses commeCréation d'Adobe DreamweaverDéveloppement Web en 2010.


Où nous sommes maintenant

Le développement du logiciel existe depuis plus de 70 ans. Depuis lors, le monde a subi de nombreux changements.

Brief on the evolution of software development


Voici uneVersion de taille complètede l’image ci-dessus.


Comme vous pouvez le voir, notre domaine évolue constamment vers une plus grande abstraction et des méthodes plus automatisées pour gérer la complexité croissante.Chaque nouvelle ère apporte de nouvelles idées qui nous aident à gérer les problèmes précédents tout en nous poussant plus loin dans l'hyperspécialisation et des équipes plus petites, nous fournissant plus de façons de recueillir des commentaires plus rapidement.


What complexities are we facing in the 2020s (so far)?

  • Supply chain security
    • modern software development relies on numerous third-party components, with even simple applications often incorporating thousands of them, each posing a potential security risk that could compromise the entire application
  • Observability data overload
    • metrics, logs, and traces generate vast amounts of data daily, but pinpointing the root cause is becoming increasingly challenging because dashboards display everything yet explain nothing (debugging is still hard)
  • Configuration management
    • use of IaC, feature flags, env variables, and secrets has created massive configuration spaces that are hard to validate
  • AI/ML integration complexity
    • integrating AI components with traditional software is still quite challenging, as SOTA and toolchains change every two weeks, and approaches evolve even faster


Replacing software developers with AI agents can't be a solution for any of today's complexities.


The wrong way to do things


A few things to watch for:

  • AI tooling consolidation

  • commoditization of AI workflow creation

  • even better ways of distributing software

  • changes in the way we build software that cultivate higher quality as consumer expectations rise due to software abundance


Parier sur le développement logiciel

La génération de code était un excellent cas précoce pour les LLM, car elle avait juste assez de données ouvertes pour le faire fonctionner et un énorme effet wow qui a fait parler de tout le monde.Les gains de performance actuels que nous obtenons des copilots peuvent facilement se perdre dans l'anxiété causée par les médias ou lorsque les gens commencent à chercher des concerts latéraux pour gagner de l'argent supplémentaire et sécuriser leur avenir.


Il est impossible de dire exactement comment les choses se dérouleront. Cependant, nous devrions supposer que les capacités des LLM de générer du code ne s'amélioreront qu'avec le temps (Comme cela sembleÊtreLeur caractère le plus fortpour résoudre les problèmes actuels (tels queLongueur rapide qui affecte fortement les performancesEt ainsi de suite).


The effect of AI on cutting costs might be tricky, as everyone has the same chances to optimize. What's most likely to happen is that AI will make the whole pie bigger.

Que s'est-il passé lorsque la plupart des gens ont appris à lire, écrire, imprimer, publier, puis finalement partager leur travail en ligne avec le monde entier?


beaucoup deMots sauvagesMais écoutez-moi : les auteurs, les cinéastes et les enseignants sont toujours autour et en forte demande (surtout les excellents).


Il semble que nous nous dirigeons vers une situation similaire aux premiers jours du Web, lorsque tout le monde a commencé à créer des sites Web pour lui-même.Cela soulèvera la barre pour les entreprises et les particuliers (comme c'était le cas avec les sites Web et les applications Web), apportant de nouveaux différentiateurs, outils et approches et introduisant de nouvelles exigences pour les développeurs.


En d'autres termes, j'aime les idées exprimées magnifiquement dans les articles récents: "La fin de la programmation telle que nous la connaissons« et »L’IA et la programmation : le début d’une nouvelle ère»


Why not?


So, what is next?

Avons-nous une plate-forme "IKEA" qui fournit un conteneur d'applications avec toutes les fonctionnalités de base, vous permettant de demander à un assistant d'IA de désactiver les fonctionnalités dont vous n'avez pas besoin et d'ajouter les fonctionnalités que vous voulez, puis de les ajuster manuellement?

Ou bien la crypto livrera-t-elle finalement un meilleur web pour tout le monde (peut-être heureusement fusionné avec des principes local-first)?

Ou sera-t-il un flux de travail d'IA adapté au niveau Excel pour tous?

Redessinerons-nous les services existants et en créerons-nous de nouveaux pour répondre aux besoins de ce qui semble être de nouveaux acteurs : la communauté (ou le réseau) et les agents de l’IA ?

Si nous sommes vraiment entrés dans une nouvelle phase de la spirale de développement logiciel, beaucoup va changer, et encore plus va émerger.


Une invitation

Dans un environnement où l’ajout de plus de code est bon marché, un excellent développeur de logiciels ressemble plus à un magicien classique qu’à un ingénieur classique.


Ils sont entourés de livres anciens (les grands bleus, les verts et les dragons, etc.), ils portent toujours avec eux un livre magique (leurs modèles et principes architecturaux préférés, leurs meilleures pratiques), ils parlent un langage étrange (abréviations, acronymes, lexicons), ils dessinent des illustrations ésotériques (diagrammes), relient des points sur le papier (interfaces), et une fois cela fait, ils disent « générer et courir » (abracadabra).


Les développeurs d'aujourd'hui ont des outils beaucoup plus avancés, et les nouveaux arrivants seront une génération de développeurs qui peuvent accomplir beaucoup plus par eux-mêmes que toutes les générations précédentes de développeurs.


Mais cela reste à comprendre et à apprendre à l’utiliser.


Some things can significantly enable you on this journey:

  • When code is generated, it will eventually lack evident vulnerabilities and be validated against requirements using automated tests.

    • Your job is to ensure that the code is maintainable (this makes it easier for both machines and humans to troubleshoot and extend the codebase).
  • You need to understand, appreciate, and delve into the fundamentals of software architecture and the core principles of computer science.

    • The best way to go is to a) study hard, b) build from scratch, and c) revise and exercise (regularly).
  • The programming languages ​​won't matter much, but mastering two languages ​​- a dynamic, high-level one and a static, low-level one - will give you enough opportunities to practice all the essential concepts and broaden your perspective.


Supposons que les choses ne vont pas bien pour l'industrie. Dans ce cas, vous pouvez toujours obtenir un emploi dansLe gouvernement des États-UnisJe parieDans de nombreux Autre lieuxaussi) ouDe nombreuses banques, car ils s'appuient fortement sur les bases de codes écrites dans le langage de programmation COBOL (Une langue morte dans les années 80Les blagues à part, alors que l'industrie de la technologie se déplace incroyablement vite, le rythme d'adoption de la technologie dans d'autres industries et leurs processus d'approvisionnement semblent souvent gelés dans le temps (par exemple, Windows XP, Excel, Fortran, Perl).


Les gens résistent également au changement.C'est là que le manque d'expérience d'un nouveau venu fonctionne souvent à leur avantage.Beaucoup de gens (surtout avec l'âge) ont du mal à:

  1. Surmonter les schémas appris et renforcés de comportement et de préjugés.
  2. Prenez des risques en renonçant à quelque chose qui a fonctionné pour eux pour essayer quelque chose de nouveau.
  3. Allouer suffisamment de temps et d’énergie pour apprendre et pratiquer cette nouvelle chose de manière cohérente.


Heads-up pour les nouveaux arrivants

Alors que les analogies historiques peuvent résonner avec la réalité contemporaine, nous ne devons pas nous tromper.La réalité est complexe et dynamique, tandis que l'histoire est statique et contextuelle.Personne ne sait comment les choses se dérouleront.


Many people will likely attempt to automate software development tasks, et il est sûr de dire que la génération de code s'améliorera avec le temps.


Vous devriez supposer que le marché est volatile, et il peut devenir plus difficile de trouver un bon emploi, ou vous pouvez le perdre pendant une autre vague de licenciement qui réduit les coûts.


Il est presque sûr de dire quesoftware development shouldn't be your end goalRegardez-le comme un moyen pour atteindre une fin, que cette fin soit dans la science, les affaires, l’art, le journalisme ou ailleurs.


Être un nouveau venu dans l'industrie du développement de logiciels aujourd'hui est tout à propos de l'agence personnelle. Vous voulez échapper à cette position, alors commencez à faire votre travail de niveau suivant dès que possible.


The great way to prepare for it is to:

  • Apprendre des concepts ennuyeux mais permettant que tout le monde ignore parce qu'ils sont ennuyeux
  • Trouvez un ami ou une communauté qui correspond à votre type d'énergie et d'enthousiasme
  • Utiliser des outils d’IA pour apprendre et prototyper dès le premier jour
  • La pratique, la pratique

Ce qui fera une énorme différence est le désir d'apprendre et de comprendre l'entreprise derrière les produits que vous construisez (ses clients, ses processus, ses problèmes et ses opportunités).Apprendre à communiquer avec les gens, à identifier leurs besoins, à combler les lacunes dans le contexte, à prototyper une solution, à l'affiner avec une architecture améliorée et à s'associer à l'IA pour la construire.


À un moment donné (mais ne vous précipitez pas), il est logique de développer une spécialisation dans un domaine spécifique. Faites attention aux choses qui vous excitent (ou vous fâchent) et essayez d'aller plus profondément en elles.


aprèsword

L’IA n’apporte pas de nouvelles façons de penser et de créer, elle expose des endroits où la réelle pensée et la créativité sont nécessaires, remplissant facilement le vide avec des simulations dans d’autres domaines.


Le développement de logiciels ne fera pas tout le monde heureux.Si vous avez cette énergie de constructeur et un appétit sérieux pour explorer et apprendre, vous devriez y aller!


En tout cas, je vous souhaite le meilleur de votre voyage.


P.S. Si vous avez apprécié cet article, veuillezconnecting with me on X or par Linkedin.

Xpar Linkedin

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks