Je n'ai jamais vraiment trouvé ma place dans aucun des postes d'ingénieur logiciel que j'ai occupé. L'aspect technique des choses est devenu ennuyeux une fois que j'ai acquis une compréhension de base de la logique interne de la base de code et que je ne me suis plus sentie mise au défi, et j'ai alors voulu en faire plus, et plus important encore, le faire différemment.
Je me suis interrogé sur les décisions en matière de conception et sur leur objectif général : pourquoi faisons-nous cela et pourquoi le faisons-nous de cette manière spécifique ? Existe-t-il une meilleure façon de procéder ? Quelles mesures utilisons-nous pour déterminer le succès et pourquoi ? Même si ces questions n'étaient pas toujours posées à voix haute, on me disait que je « réfléchissais trop » et que je « me souciais trop », alors que je pourrais utiliser ce temps pour produire davantage de lignes de code.
Je n'étais pas à ma place, et j'étais trop jeune et peu sûr de moi pour comprendre qu'il ne s'agissait pas d'une simple inadéquation entre mon talent et mon poste. C'est que je n'étais pas du tout d'accord avec la façon dont ces endroits fonctionnent et que je voulais travailler pour les changer plutôt que de les perpétuer.
Si une partie de moi ne s'est jamais dite qu'il devait y avoir de meilleures choses ailleurs, le fait de consulter des offres d'emploi pendant quelques semaines en 2023 a suffi à mettre fin à cette illusion. 90 % du temps, lorsque je lis des descriptions, il est atrocement évident pour moi que le code que les candidats choisis finiront par écrire dans le cadre de ce travail sera complètement éloigné de tout problème important que non seulement l'humanité, mais même tout être humain individuel, n'a jamais eu.
La culture des startups est sans vergogne à l'avant-garde de la politique de ce secteur qui consiste à « produire plus de code et à poser moins de questions ». La plupart des startups ne font que déplacer l'argent des investisseurs tout en essayant d'acquérir des utilisateurs payants en les convainquant qu'ils ont besoin d'un produit qui, le plus souvent, n'est au mieux que marginalement utile.
Elles échouent généralement en laissant derrière elles des milliers de lignes de code spaghetti non maintenable que les ingénieurs ont été contraints d'écrire en quelques semaines au lieu de quelques mois en utilisant des technologies arbitraires à la mode. Personne ne regardera plus jamais cette horreur, sauf peut-être comme un exemple de mauvaises pratiques de codage, le temps des ingénieurs a été gaspillé et le capital-risque finit en grande partie dans les mains de ceux qui possèdent déjà un capital important - ils peuvent l'utiliser pour financer une autre startup, et ce cycle misérable continue.
Les offres d'emploi qui tentent de présenter cela comme une sorte d'entreprise passionnante et utile qui enrichira la vie des gens et stimulera ma croissance en tant qu'ingénieur sont une insulte à mon intelligence. Je ne veux pas faire partie de cela - pas seulement parce que c'est sans doute immoral, mais parce que c'est fondamentalement et exaspérément ennuyeux et inutile.
Si les entreprises technologiques établies diffèrent des startups sur le plan organisationnel et financier, elles ne s'opposent pas vraiment sur le plan culturel.
Certes, le code que vous écrivez chez un FAANG peut arriver jusqu'aux utilisateurs, mais ce que vous pensez, en tant qu'individu, de tout aspect de l'écriture du code sera plus que jamais sans importance. Vous êtes un rouage dans une machine, non seulement dans le sens où le produit que vous construisez est susceptible d'automatiser les pires aspects du capitalisme de manière de plus en plus sinistre, mais aussi dans un sens pratique, vous êtes un nombre : la taille de votre pile de backend, ou votre score aux entretiens techniques, ou votre score à l'évaluation des performances.
Ce n'est pas tant cette réalité en elle-même qui est si atroce à mes yeux, mais plutôt le fait qu'en tant qu'ingénieurs, nous sommes censés trouver cette tâche vide et humiliante encore plus ambitieuse que beaucoup d'autres travailleurs, et que nous sommes encore plus découragés de remettre en question tout aspect de cette tâche.
Essentiellement, le concept de pensée critique a été rendu anathème pour l'ingénierie : en tant que programmeur, vous devez vous concentrer uniquement sur le comment, rarement sur le quoi, et certainement jamais sur le pourquoi. Pour le rare singe code qui se trouve capable et désireux de critiquer le système pour lequel il produit, le message est clair : laissez cette merde à la porte. Un code monkey ne peut même pas identifier le manque d'autonomie et de créativité inhérent à son poste - il ne peut que s'efforcer de construire plus, jamais de construire différemment, ou de construire des choses différentes et meilleures.
Ainsi, si cette mentalité du monde de la technologie, qui consiste à faire plus et à demander moins, peut produire plus de code, elle conduit aussi systématiquement à des logiciels de moins bonne qualité.
Même dans les cas où le capital et d'autres forces hors de notre contrôle immédiat nous permettent théoriquement de construire des logiciels d'une manière durable, ou qui ont un impact positif sur le monde en général, ou qui sont au moins utiles en pratique, nous ne le faisons toujours pas, à cause d'une simple inertie : il est plus facile et généralement plus viable de faire ce qui est à la mode et de reproduire le statu quo une fois de plus.
Pire encore, cette même inertie s'infiltre dans l'ensemble de la pile technologique sur laquelle ce produit sociétalement inutile est construit. Les technologies, jusqu'aux langages, aux bibliothèques, aux frameworks et même aux patterns de code, sont infectées par la même marque de nouveauté et de gadgets avant l'innovation réelle qui affecte l'industrie dans son ensemble. Après tout, si vous ne résolvez pas de problèmes non conventionnels, pourquoi auriez-vous besoin d'une ingénierie non conventionnelle ?
En vérité, les problèmes d'ingénierie les plus intéressants sont généralement ceux qui se posent naturellement dans notre société, par opposition à ceux pour lesquels le progrès technologique est une fin en soi, ou même à ceux qui tentent de créer artificiellement une demande de marché là où il n'y en a pas.
La nécessité sociétale est le meilleur moteur possible de l'innovation - rappelez-vous qu'historiquement, les réalisations les plus révolutionnaires des débuts de l'informatique se sont produites au service du bien commun. C'est ce que je veux vraiment faire : Je veux que chaque comment - depuis le langage et le paradigme de programmation, l'architecture, jusqu'à chaque ligne de code et morceau de syntaxe - soit informé par le pourquoi du système qui est en train d'être construit. Et je veux que ce pourquoi soit le reflet d'un véritable besoin existant, et non d'une mesure commerciale à la con qui n'existe que pour elle-même.
Jusqu'à présent, je n'ai pas eu la chance de rencontrer quelqu'un qui partagerait ces valeurs de manière significative et qui voudrait faire ce genre de travail d'ingénieur. Malgré l'isolement que je ressens souvent dans mes interactions avec cette industrie, je suis confiant dans la valeur de mon travail et dans l'importance des choses que j'ai à dire. Si vous êtes cette personne, n'hésitez pas à me contacter - il serait intéressant de savoir s'il existe déjà une place pour quelqu'un comme moi. Et si ce n'est pas le cas, je pense qu'il serait bénéfique pour nous de la créer.
Source : "I love programming but I hate the programming industry" (par deathbyabstraction)
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi :
Pourquoi il n'est pas possible d'échanger les programmeurs : la programmation en tant que construction de la théorie, par Peter Naur
Programmation : quelles sont les qualités essentielles pour être un acteur de la filière ? Quelles sont celles qui montrent qu'on est fait pour ce job avant d'entamer un programme d'études ?
« La programmation informatique est difficile » : mythe ou réalité ? « Cette idée manque de preuves suffisantes et peut impacter de façon négative sur de futurs postulants », selon un universitaire
J'aime la programmation informatique, mais je déteste l'industrie de la programmation
Par deathbyabstraction
J'aime la programmation informatique, mais je déteste l'industrie de la programmation
Par deathbyabstraction
Le , par deathbyabstraction
Une erreur dans cette actualité ? Signalez-nous-la !