Contrairement à d'autres professions (comme la comptabilité, le droit, la médecine, etc.), il n'y a pas de certification à l'échelle de la profession pour le génie logiciel.
Je connais bien la multitude de certifications spécifiques à la technologie et à la méthodologie qui visent à servir de preuve de spécialisation et d'expérience, mais il n'y a pas de société publique d'ingénierie logicielle / d'organe directeur qui établit (et a le pouvoir d'évaluer légalement) les normes professionnelles généralement acceptées .
Je comprends que le logiciel est une bête dynamique - c'est en partie de l'art, en partie de la science - mais je me demande si le génie logiciel a le potentiel pour devenir une profession formelle.
Qu'est-ce qui doit changer pour que cela se produise et serait-ce même une bonne chose?
(Si quelqu'un connaît la recherche formelle sur ce sujet, j'apprécierais grandement les références)
Mise à jour
Je suis d'accord avec bon nombre des bons points soulevés ci-dessous concernant le niveau actuel de certification en génie logiciel. Je trouve également très intéressant que certains pays traitent le génie logiciel comme une profession tandis que d'autres ne le font pas.
Il semble cependant qu'il y ait un peu de linceul autour du terme «profession formelle» et de la manière dont il s'appliquerait au génie logiciel. Je pense que le problème clé du génie logiciel - et la principale raison pour laquelle ce n'est pas une profession à part entière - est que si vous êtes un ingénieur logiciel certifié, et - par exemple - certains logiciels que vous avez écrits pour un dysfonctionnement d'ascenseur et tuent des gens, votre certification et / ou votre adhésion à un organisme professionnel officiel ne sera pas révoquée.
Bien sûr, votre entreprise pourrait être poursuivie pour des millions, et vous pourriez personnellement perdre votre emploi et gagner une mauvaise référence, mais en règle générale, vous êtes personnellement protégé par le bouclier de la responsabilité limitée du fait d'être employé par ladite entreprise. En d'autres termes, et pour autant que je sache, il n'y a pas d'évaluation / d'application légale en place (contrairement aux autres professions formelles et à leurs sociétés gouvernantes) qui ont le mandat de vous interdire officiellement de faire du commerce une fois que vous avez fait un bourrage colossal .
J'ai bien aimé la réponse qui touchait au fait que le génie logiciel - en l'état - est une méritocratie, qui n'a pas besoin d'être une profession formelle, et que c'est une bonne chose qui ne devrait pas changer. Dans le même temps, je pense que nous devons faire une distinction claire entre les ingénieurs logiciels de logiciels critiques et les développeurs de logiciels divers / non critiques.
Pour ceux d'entre vous qui travaillent / ont travaillé sur des logiciels critiques - y a-t-il une responsabilité personnelle? Il y a sûrement un besoin de répercussions formelles dans le cas où l'ingénieur logiciel commettrait une erreur coûteuse?
la source
Réponses:
D'après les informations disponibles, je pense que le génie logiciel est déjà une profession formelle. Il peut ne pas être largement accepté en tant que tel, mais il répond aux critères généralement acceptés pour les caractéristiques d'une profession.
Extrait de l'article de Wikipédia sur la profession :
Ceci cite abondamment The Rise of Professionalism: A Sociological Analysis de Magali Sarfatti Larson . La recherche des «caractéristiques d'une profession» conduit généralement à des résultats similaires.
Comment le génie logiciel se compare-t-il à ces caractéristiques?
Association professionnelle Il existe de nombreuses associations professionnelles pour les ingénieurs logiciels. L' IEEE et plus particulièrement l' IEEE Computer Society sont au service des professionnels de l'ingénierie du monde entier, l'IEEE Computer Society se concentrant spécifiquement sur les ingénieurs en informatique et en logiciels. L' ACM est une autre organisation professionnelle pour les professionnels travaillant dans l'informatique, généralement dans les Amériques. Il y a aussi la British Computer Society , qui s'occupe de divers aspects des professions des technologies de l'information et de la communication, généralement au Royaume-Uni.
Base cognitive L'ensemble des connaissances en génie logiciel est parrainé par l'IEEE, Boeing, le Conseil national de recherches Canada, Raytheon, Construx Software, le Conseil canadien des ingénieurs, la MITRE Corporation, le NIST, Rational, SAP (pour la version 2004). Il a été lancé spécifiquement comme une étape vers "faire du génie logiciel une discipline d'ingénierie légitime et une profession reconnue" .
Institutionnalisés Formation Aux États-Unis, Technologies de l' information, sciences informatiques et programmes de génie logiciel peut être accrédité par ABET . Au Canada, les programmes d'informatique et de génie logiciel sont accrédités par le CIPS . Ces organisations définissent des normes minimales et des résultats attendus pour les étudiants diplômés d'un programme accrédité afin de leur permettre de fonctionner dans un environnement professionnel. L'IEEE propose également deux examens basés sur le corpus de connaissances en génie logiciel - l' examen Certified Software Development Associate pour les étudiants de premier cycle (ou récemment diplômés) et l' examen Certified Software Development Professional pour les professionnels en milieu de carrière.
Licences Depuis avril 2013, le NCEES propose un examen d'ingénierie professionnelle en génie logiciel . Il est proposé État par État aux États-Unis. Cependant, l'examen Software Engineering PE n'est pas actuellement proposé par tous les États, et encore moins nécessitent la licence. Cet article, publié dans le numéro de novembre / décembre 1999 du logiciel IEEE, discute des exigences en matière de licences dans l'État du Texas et une brève discussion sur les licences en Ontario et en Colombie-Britannique, au Canada et au Royaume-Uni. Au Texas, une licence est uniquement requise pour travailler sur la conception, les tests ou la mise en œuvre de systèmes embarqués ou en temps réel qui "nécessitent une compréhension détaillée des composants électriques ou mécaniques conçus" et pour les systèmes logiciels pour "les appareils mécaniques, les appareils électriques" et systèmes d'alimentation "- une quantité relativement faible de travail de développement de logiciels. Dans les États qui proposent des licences, le pire des cas est une action disciplinaire, des sanctions ou la perte de votre licence si un client ou un employeur dépose une plainte. Cependant, le seul vrai préjudice vient des États qui exigent une licence - à moins que la licence ne soit requise pour faire le travail, la perdre ne signifie rien.
Code d'éthique L'ACM et l'IEEE Computer Society ont créé un code d'éthique et de pratique professionnelle en génie logiciel . Aux États-Unis, les diplômés des programmes d'ingénierie accrédités ABET, y compris les programmes de génie logiciel, peuvent également rejoindre l' Ordre de l'ingénieur , qui maintient un code d'éthique qui s'applique généralement aux ingénieurs professionnels.
Autonomie de travail, contrôle des collègues, normes élevées d'excellence professionnelle et intellectuelle Ces éléments sont souvent visibles dans un environnement où le génie logiciel est traité comme une discipline d'ingénierie. C'est-à-dire que tous les employeurs (ou pigistes) ne traitent pas le développement de logiciels comme de l'ingénierie.
la source
Un organisme professionnel largement établi et accepté pour les développeurs de logiciels / ingénieurs / architectes / etc. ne serait pas une bonne chose.
Actuellement, il s'agit de l'un des rares domaines pouvant faire office de méritocratie. Comme dans, peu m'importe quel degré vous avez (ou si vous en avez un), combien d'ancienneté vous avez, quelles langues vous connaissez, etc. Il est relativement facile de savoir si vous êtes un bon développeur ou non , et à la fin de la journée, c'est la seule chose qui compte. ie pouvez-vous faire avancer les choses?
Actuellement, vous êtes mesuré par votre capacité, et non par une accréditation que quelqu'un vous a accordée. Et c'est une bonne chose, bonne (tm).
la source
Rien ne doit changer.
Comme l'a souligné Thomas , le génie logiciel est déjà un métier. On peut l'appeler l' ingénierie, la programmation, le piratage, et / ou l' artisanat, mais il est comme profession et beaucoup de gens font de l' argent sur elle.
Je pense que votre question concerne les licences.
À l'heure actuelle, il n'existe aucune licence officielle pour l'ingénierie logicielle. Toute personne possédant suffisamment d'intelligence et de capacité de programmation peut être embauchée et payée pour la création de code plutôt que sur une machine ou un appareil.
Cela ne ressemble à aucune autre industrie (le droit et la médecine étant des exemples cités dans la question). Une licence est requise pour ces professions. Tout le monde peut conduire une voiture, mais pour en conduire une légalement, vous devez avoir une licence Dirvers en est un autre exemple. Tout le monde peut programmer, aucune licence ou certification requise.
Maintenant, je crois que l'octroi de licences est bon car il prouve que quelqu'un a la capacité de faire quelque chose (comme conduire une voiture) et connaît les tenants et aboutissants des règles (de la route).
Une licence similaire pourrait être requise pour le génie logiciel, mais je ne pense pas que cela ferait beaucoup de bien. En fait, il existe de nombreux pilotes sous licence qui sont des pilotes horribles, alors juste parce que vous avez une licence ne signifie pas que vous êtes un bon pilote ou programmeur.
Une licence crée une barrière à l'entrée, ce qui dans ce secteur ne serait pas une bonne chose, donc je ne vois aucun avantage perçu d'une telle licence.
Les entreprises qui embauchent des ingénieurs logiciels devraient définitivement tester la capacité de ce programmeur potentiel avec un "test de programmation" (et je ne parle pas du type de buzz fizz) en fonction de l'ensemble de compétences nécessaire. Les programmeurs avec des "certifications" ont l'air bien sur le papier, mais ils devraient vraiment être mis à l'épreuve avec un test du monde réel pour évaluer l'expérience et l'aptitude.
la source
Je pense qu'il devrait être possible de devenir un développeur de logiciels certifié en passant un examen comme un avocat passe un examen du barreau. Je pense également que les programmeurs non certifiés devraient toujours pouvoir fonctionner en tant que programmeurs. La différence est que les employeurs pourraient faire de la publicité spécifiquement pour les programmeurs certifiés si c'est ce qu'ils veulent, et un programmeur certifié viendrait avec certaines garanties de responsabilité, ainsi qu'un prix plus élevé.
Je suis d'accord avec l'affiche qui dit que le développement de logiciels est un gâchis sans responsabilité. Je ne pense pas que cela doive être ainsi. Il y a des développeurs qui veulent créer de bons logiciels et sont prêts à en être responsables. Nous avons juste besoin d'un moyen de nous distinguer.
Je développe des logiciels depuis plus de 20 ans. Je ne prétends pas que cela fait de moi un excellent développeur en soi, mais je pense que je suis un assez bon développeur. Le problème est que je dois constamment démontrer pourquoi je suis un meilleur développeur que chaque enfant qui a appris la programmation pendant son temps libre et veut le même travail que moi. Sans parler des légions de développeurs "offshore" qui promettent de faire le même travail pour une fraction de l'argent. Pour l'instant, cela demande beaucoup d'efforts. Je dois fournir des échantillons de travail, des références, passer des tests, faire des entretiens. Je pourrais facilement passer une mauvaise journée, faire une erreur lors d'un test et être disqualifié. Je préfère simplement dire: "oui, je suis un développeur certifié et voici mon certificat". Je devrais encore faire des interviews, mais au moins je ne ferais que rivaliser avec d'autres développeurs certifiés.
la source
Elle ne le sera jamais, du moins pas entièrement. Le logiciel est un médium, comme la peinture. Il y a des gens qui font des travaux de peinture à l'échelle industrielle de grandes structures, il y a des gens qui conçoivent de nouvelles peintures pour exécuter des normes élevées, mais il y a aussi des gens qui achètent de la peinture pour faire des travaux à petite échelle comme peindre leur hangar, et d'autres encore qui pourraient mélanger leur propre peinture, mais il suffit de l'utiliser pour peindre des photos de chats.
De même, même si je pouvais voir un avenir où les logiciels essentiels à la sécurité et / ou financiers auraient besoin d'ingénieurs accrédités pour y travailler, il n'y aurait jamais besoin de personnes produisant des logiciels d'art ou de divertissement. Que faut-il changer pour obtenir les logiciels de sécurité ou financiers nécessaires pour avoir des ingénieurs accrédités? Tout comme ces autres professions, il faudrait une loi pour le rendre obligatoire.
la source
Le logiciel n'est pas une profession et ne le sera jamais.
"Une profession naît lorsqu'un métier ou une profession se transforme par le développement de qualifications formelles basées sur l'éducation, l'apprentissage et les examens, l'émergence d'organismes de réglementation ayant le pouvoir d'admettre et de discipliner les membres et certains degrés de monopole."
Cette description ne correspond pas du tout au logiciel.
Tout d'abord, toute personne intéressée par les logiciels peut sortir et essayer de trouver un travail de développement de logiciels. Beaucoup de ces personnes ont des diplômes universitaires sans aucun rapport avec la programmation informatique et beaucoup n'ont aucun diplôme du tout. Rien n'empêche aucun de ces groupes de devenir programmeurs de logiciels.
Les logiciels ne peuvent pas devenir une profession parce que les membres "licenciés" deviennent responsables des dommages qu'ils causent et de leur faute professionnelle. 80-90% des développeurs perdront leur emploi dans quelques années pour celui-là seul.
En général, la qualité des logiciels est atroce, sujette aux bogues et tout simplement pas très bien faite. Est-ce digne d'être une profession? Prévoyez-vous cet arrêt parce que les gens obtiennent une licence? Si une organisation professionnelle ne défend pas des normes élevées et une qualité professionnelle, cela ne sert à rien. Cela va directement à l'encontre des pratiques de l'industrie. L'écriture de logiciels de qualité, robustes et fonctionnels est contraire aux principes de la plupart des entreprises, car le délai de mise sur le marché, le coût, c'est assez bon, je ne veux rien casser d'autre en essayant de réparer les logiciels cassés est considéré comme plus important que les logiciels de qualité professionnelle.
En ce qui concerne également les fautes professionnelles. Comment allez-vous prouver qu'un développeur contre un autre est à blâmer. Dans le logiciel, il est facile de pointer du doigt et les deux développeurs "ont raison". Qui est à blâmer lorsque ce développeur utilise l'API non documentée cachée dans les entrailles du système d'exploitation, puis que le fournisseur du système d'exploitation modifie sa fonction ou la supprime?
Bonne chance avec cette affaire d'organisme de réglementation. Voyons le congrès dire non à Microsoft lorsque Microsoft leur demande de supprimer ce projet de loi, car il ne leur permettra d'engager que des développeurs "sous licence". Sans cet organisme de réglementation, alors qui va rejoindre une organisation qui a le droit de vous discipliner et de vous facturer des cotisations, surtout s'il n'y a pas de valeur ajoutée comme l'obtention de droits de monopole sans l'organisme de réglementation.
Quant à, serait-ce une bonne chose d'exiger une licence? Absolument, pour ceux qui peuvent être accrédités. Votre salaire augmenterait considérablement avec votre nouveau monopole.
Cependant, pour tout le monde ... l'utilisation de la technologie informatique dans les entreprises diminuerait probablement avec le rythme rapide des progrès que nous constatons de nos jours. Il y aura certainement des obstacles aux nouvelles avancées logicielles, telles que les langages et les méthodologies de conception. Après tout, qui va vouloir pousser de nouvelles façons de faire qui nécessiteront des années de recyclage afin de maintenir votre licence. La plupart des développeurs sous licence préféreront garder les choses telles qu'elles sont à cet égard.
la source