Le métier d'ingénieur logiciel passionne-t-il encore ?
Un développeur raconte comment il a perdu la flamme

Le , par Stéphane le calme, Chroniqueur Actualités
Sur un billet blog, un développeur se remémore les circonstances dans lesquelles est née sa passion pour la programmation. Avec quelquefois une pointe d'humour, il se rappelle comment il griffonnait des lignes de code sur des bouts de papier pendant les cours d'histoire. « Elle (le professeur) pensait probablement que je prenais des notes. Ou alors elle savait que je n'y prêtais aucune attention mais elle ne s'en préoccupait pas » explique-t-il.

La programmation le fascinait. Il ne vivait plus que pour concevoir des algorithmes et les transformer en langage de programmation. A l'époque il n'avait pas d'ordinateur et devait se résoudre à utiliser celui d'un de ses amis. Il décrit la sensation qui s'emparait de lui une fois que le code était fonctionnel, cette sensation bien connue par les développeurs qui sortent victorieux d'un challenge intellectuel.

Bien sûr c'était grisant. Sa soif de connaissance étant de plus en plus grande, il se tourne vers Internet pour se former. Puis vient la fac. Naturellement il opte pour des études en Sciences informatiques. Seulement, les TP de programmation deviennent vite ennuyeux puisqu'il a déjà parcouru la majorité des sujets. La seule chose qui aiguise encore son intérêt à l'école ce sont les cours théoriques. Pour avoir l'occasion de tester ses connaissances dans le monde réel, il recherche un stage de développeur à mi-temps. Le fait qu'il soit peu payé ne le préoccupait pas, à ce moment ce qu'il recherchait c'était une plus grande expérience. Seulement il avait l'impression de ne pas réellement en apprendre tant que ça, bien au contraire même. Il avait l'impression de ne pas faire grand usage de son intellect à cause de la routine. Pour lui, tout cela aurait été différent s'il était né plusieurs dizaines d'années plus tôt, à l'époque où l'ingénierie logicielle en était à ses balbutiements, car les défis étaient plus stimulants car plus difficiles.

Il conclut en disant que si vous aimez réellement le développement, devenir ingénieur logiciel ne serait pas votre meilleure option. L'une des raisons qu'il évoque est que la plupart des offres d'emploi correspondant à ce profil sont ennuyeuses. Ce qu'il propose c'est de se spécialiser. « Vous aimez les algorithmes ? Vous pouvez devenir un chercheur en informatique. Vous pouvez devenir un programmeur système et développer des OS. Essayez de creuser dans le code source Linux. » recommande-t-il, « Quoi que vous fassiez, ne soyez pas un " ingénieur logiciel " générique. ».

Source : billet blog

Et vous ?

Partagez-vous son point de vue ?

N'y a-t-il plus de projets aux défis intellectuellement intéressants pour un ingénieur logiciel ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Olfredos6 Olfredos6 - Membre du Club https://www.developpez.com
le 16/10/2013 à 2:47
Je suis un peu choqué par cet article. je suis actuellement étudiant en afrique du sud en Computer Systems Engineering, ce n'est pas trop pareille à Computer Science parceque j'ai un tas d'autre cours d'electronique et Power engineering. Je comptais me faire un master en genie logiciel juste après mon BTech. Voir cet article, y a trop des questions qui se posent dans ma tête, au devellopeurs professionels, vais-je mess up ma vie en me specialisant en genie logiciel?? Avis s.v.p
Avatar de martin.magakian martin.magakian - Futur Membre du Club https://www.developpez.com
le 16/10/2013 à 4:07
Slt Olfredos6,
Mais non tu vas pas foirer ta vie

Ce gas est un dingue d'algo. Il trouve sont bonheur à faire de l'algo pure et dure.
Personnellement j'aime bien aussi, mais je n'aimerai pas faire ça toute la journée.

ne soyez pas un " ingénieur logiciel " générique

Il veut dire "Ingénieur logiciel standard" ou "ingénieur logiciel généraliste"?

Si il s'agit de "standard" forcement il faut éviter d'être nulle dans sont boulot.
Ca permet d'accéder à des postes plus intéressent.

Si il s'agit de "généraliste" alors non je ne suis pas d'accord. Être généraliste permet d'accéder à un tous autre type de poste intéressent.

Cordialement
Martin Magakian
Avatar de pcaboche pcaboche - Rédacteur https://www.developpez.com
le 16/10/2013 à 5:21
Citation Envoyé par martin.magakian  Voir le message
Il veut dire "Ingénieur logiciel standard" ou "ingénieur logiciel généraliste"?

Il veut dire : 'generic "software engineer" ' (cf. le billet original).

Dans ce contexte, 'generic' = générique/quelconque/lambda...
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 16/10/2013 à 6:07
Citation Envoyé par Stéphane le calme  Voir le message
Partagez-vous son point de vue ?

N'y a-t-il plus de projets aux défis intellectuellement intéressant pour un ingénieur logiciel ?

je doute qu'il y a 20 ans, les ingénieurs sur IBM AS/400 ou Système 38 prenaient leur pied à coder en RPG ou Cobol...c'est intéressant une fois pour découvrir ce que c'est et ensuite c'est de la routine.

je pense contrairement à lui qu'on a jamais eu autant de stimulations intellectuelles qu'aujourd'hui. la multiplication des plateformes (Windows, Mac, Linux, Android, iOS), l'interconnexion de tout ce monde permet de faire des choses palpitantes. Par contre le développement d'applis de gestion reste toujours aussi rébarbatif.
Avatar de pcaboche pcaboche - Rédacteur https://www.developpez.com
le 16/10/2013 à 6:43
Non seulement l'auteur a raison (le métier de "software engineer" devient vite routinier) mais la réalité est encore pire que cela...

De ce que j'ai pu constater, la plupart des problèmes d'informatique en entreprise sont en fait liés à une architecture bancale. Par contre, si en tant que "software engineer" vous relevez ces problèmes (alors que personne d'autre ne semble en comprendre la cause exacte) et expliquez comment le résoudre (ce qui, malheureusement, implique souvent de revoir une partie de l'architecture), on vous répond (dans l'ordre) :
- "on peut pas"
- "ça coûte trop cher"
- "faut faire avec"
- "dit, tu pourrais pas nous trouver un moyen de contourner le problème sans pour autant changer la structure du programme, sans introduire de bug, et pour la semaine prochaine ? Ah, et puis si au passage tu pouvais nous rajouter ces 3 fonctionnalités que le client demande, ça serait sympa, merci..."


En résumé, le métier de "software engineer", ça consiste à appliquer des rustines infâmes pour contourner des problèmes informatiques qui ne devraient même pas exister si les "responsables" avaient fait leur boulot correctement (ou au moins se donnaient les moyens de corriger les problèmes rapidement plutôt que de les laisser s'accumuler pendant 10 ans...).

En entreprise, "software engineer" est considéré comme le métier au plus bas de l'echelle dans le domaine développement. Certains diront même que c'est le terme politiquement correct pour dire "pisseur de code" (tout comme on ne dit pas "caissière" ou "balayeur" mais "hôtesse de caisse" ou "technicien de surface").

Bref, pour des raisons différentes on en arrive à la même conclusion que l'auteur: "Whatever you do, don't just be a generic "software engineer". It sucks bad.".
Avatar de redcurve redcurve - Membre averti https://www.developpez.com
le 16/10/2013 à 7:52
Citation Envoyé par pcaboche  Voir le message
Non seulement l'auteur a raison (le métier de "software engineer" devient vite routinier) mais la réalité est encore pire que cela...

De ce que j'ai pu constater, la plupart des problèmes d'informatique en entreprise sont en fait liés à une architecture bancale. Par contre, si en tant que "software engineer" vous relevez ces problèmes (alors que personne d'autre ne semble en comprendre la cause exacte) et expliquez comment le résoudre (ce qui, malheureusement, implique souvent de revoir une partie de l'architecture), on vous répond (dans l'ordre) :
- "on peut pas"
- "ça coûte trop cher"
- "faut faire avec"
- "dit, tu pourrais pas nous trouver un moyen de contourner le problème sans pour autant changer la structure du programme, sans introduire de bug, et pour la semaine prochaine ? Ah, et puis si au passage tu pouvais nous rajouter ces 3 fonctionnalités que le client demande, ça serait sympa, merci..."


En résumé, le métier de "software engineer", ça consiste à appliquer des rustines infâmes pour contourner des problèmes informatiques qui ne devraient même pas exister si les "responsables" avaient fait leur boulot correctement (ou au moins se donnaient les moyens de corriger les problèmes rapidement plutôt que de les laisser s'accumuler pendant 10 ans...).

En entreprise, "software engineer" est considéré comme le métier au plus bas de l'echelle dans le domaine développement. Certains diront même que c'est le terme politiquement correct pour dire "pisseur de code" (tout comme on ne dit pas "caissière" ou "balayeur" mais "hôtesse de caisse" ou "technicien de surface").

Bref, pour des raisons différentes on en arrive à la même conclusion que l'auteur: "Whatever you do, don't just be a generic "software engineer". It sucks bad.".

Je suis tout à fait d'accord personnellement en fait j'en ai assez de faire des applications bancale. Créer des rustines sur des archi pourave, faire du code sans queue ni tête pour contourner les délires de certains fumistes.

En ce moment par exemple je travail sur une application qui est une catastrophe technique, des palanqués de code aussi bête qu'inutile du code spaghetti à gogo, des choses qui défis l'entendement, mais impossible de corriger les bugs de fou ou de remettre tout ça d'équerre parce que :

- "on peut pas"
- "ça coûte trop cher"
- "faut faire avec"
- "dit, tu pourrais pas nous trouver un moyen de contourner le problème sans pour autant changer la structure du programme, sans introduire de bug, et pour la semaine prochaine ? Ah, et puis si au passage tu pouvais nous rajouter ces 3 fonctionnalités que le client demande, ça serait sympa, merci..."


Et toujours les même excuse "C'est une vieille application" "ça utilise une ancienne version de dotnet (2.0)" comme si il y avait une corrélation entre la version du Framework X ou Y et la qualité du code produit par les devs ^^. Donc en gros on peut faire de la merde parce qu'en 2023 ce que nous aurons produit sera vieux. J'en ai marre de cet état d'esprit.

Je commence à désespérer tout simplement ...
Avatar de phryos phryos - Membre du Club https://www.developpez.com
le 16/10/2013 à 8:11
+1 pcaboche et redcurve

Le pire c'est quand tu tombes sur un projet qui foire et ou tu manges grave parce que tu es le dernier maillon de la chaine de production (i.e. tout le monde a pris du retard ou n'a pas fait son taf, et toi t'es le dernier à coder donc tu dois rattraper le retard de tout le monde et ce sera toujours à toi que l'on demandera toujours plus). J'ai vu plein d'excellents développeurs complètement dégouté qui se sont barrés de la boite ou qui ont arrêté le dev.
Avatar de kakashi99 kakashi99 - Membre confirmé https://www.developpez.com
le 16/10/2013 à 8:46
ouais, enfin comme d'hab sur ce genre de news ça peut s'appliquer à n'importe quoi et n'importe quel métier...

clairement le mec se fait chier dans son boulot, parce que ce qui l'éclate, c'est pas tant de développer, c'est la recherche avant et le fait que sa "recherche" ai ensuite fonctionné.
plutôt que de devenir un ingénieur logiciel, il aurait du partir dans la "recherche et développement".

un mec passionné par la maçonnerie, s'il ne se met pas à son compte il ne fera qu'empiler des parpaings...

et pour les exemples, j'ai quelques exemple ou on avait de la tune pour le projet, la techno qu'on voulait, le temps nécessaire... mais une fois passer le début de projet, ou tu "réfléchis" un peu plus bah tu te retrouves à faire la même chose que tous les jours : coder une page web/client lourd...
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 16/10/2013 à 8:47
Partagez-vous son point de vue ?
Non:
1. il existe des postes où l'on peut s'épanouir, où on nous fait confiance pour concevoir des applications riches et puissante (surtout en interne où l'on maitrise le choix du navigateur)
2. si dans son travail il ne s'épanoui pas, rien ne l'empêche de développer à coté des solutions opensource (github, et ici même sur developpez rubrique projets)

N'y a-t-il plus de projets aux défis intellectuellement intéressant pour un ingénieur logiciel ?
Quasiment tous les projets sur lesquels je travaille ont une part de challenge de reflexion sur la meilleure voie à suivre pour être à la fois flexible et efficace

De plus, je développe depuis des années mon propre framework, disponible sur developpez depuis 2009, je suis ravi qu'il soit en opensource, je recois régulièrement des critiques, et axes d'amélioration des utilisateurs

De plus je propose depuis peu en téléchargement des applications développés avec sous licence LGPLv3 et également disponible sur github: MkNotes et MkSql ici: http://mkdevs.com/projets.html

Je rajouterai juste que le monde du web est en perpetuel évolution, qu'on a toujours à se mettre sous la dent des nouvelles technologies/bibliothèques/frameworks à essayer, et ceci c'est accéléré avec l'HTML5 qui permet même de faire de la 3D via webgl...
Avatar de fcharton2 fcharton2 - Membre averti https://www.developpez.com
le 16/10/2013 à 9:17
Citation Envoyé par pcaboche  Voir le message
De ce que j'ai pu constater, la plupart des problèmes d'informatique en entreprise sont en fait liés à une architecture bancale. Par contre, si en tant que "software engineer" vous relevez ces problèmes (alors que personne d'autre ne semble en comprendre la cause exacte) et expliquez comment le résoudre (ce qui, malheureusement, implique souvent de revoir une partie de l'architecture), on vous répond (dans l'ordre) :
- "on peut pas"
- "ça coûte trop cher"
- "faut faire avec"
- "dit, tu pourrais pas nous trouver un moyen de contourner le problème sans pour autant changer la structure du programme, sans introduire de bug, et pour la semaine prochaine ? Ah, et puis si au passage tu pouvais nous rajouter ces 3 fonctionnalités que le client demande, ça serait sympa, merci..."

C'est ce qui fait, à mon avis, le charme du métier d'ingénieur... On doit vivre avec des logiciels qu'on n'a pas écrit, dont les fonctionnalités ont évolué dans une direction qui n'était pas prévue au départ, qui comportent leur lots de défauts et de problèmes, mais qui fonctionnent aujourd'hui. Et le boulot consiste à les faire évoluer sans les casser, à s'adapter au code des autres, à recycler ce qui marche, et à faire disparaitre ce qui pose problème.

Reconcevoir l'architecture, proposer une solution magique qui résoud les problèmes du moment (mais se révèlera tout aussi limitée que l'actuelle pour les problèmes de l'an prochain), et qui de toutes façons ne sera disponible que dans 6 mois (estimation initiale, en réalité, ce sera deux ans), ça fait toujours plaisir, parce que ca donne l'impression qu'on a le pouvoir, qu'on comprend les choses, mais ça n'arrive presque jamais.

Je crois que le métier d'ingénieur (logiciel ou autre) est passionnant, mais c'est quelque chose d'assez exigeant, qui demande pas mal de bases et de boulot, et de nos jours on a un peu tendance à mettre sous ce titre des fonctions qu'on aurait autre fois qualifiées de "technique spécialisée" (et en y mélangeant les chercheurs en algorithmique, l'auteur de l'article n'arrange pas les choses).

Francois
Offres d'emploi IT
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil