Les programmeurs ont-ils besoin d'un code d'éthique ?
Pour un sénior "le pouvoir que la société nous a donné est immense et implique responsabilité"

Le , par Amine Horseman

0PARTAGES

4  3 
Robert Cecil Martin écrit dans un billet de blog à l’intention des programmeurs : « We rule the world ». Ce qui peut se traduire par « nous contrôlons le monde », et qui peut également signifier que « nous écrivons les règles du monde ».

Ceci n’aurait sûrement pas suscité autant d’intérêt si l’auteur de l’article avait été un simple programmeur anonyme. Mais, le fait est que Robert C. Martin, aussi connu sous le pseudonyme Uncle Bob, est un membre leader du Software Craftsmanship Movement et auteur de plusieurs livres informatiques à succès, dont le célèbre « Coder proprement ». Il était aussi à l’origine du groupe qui avait créé le Software Agile Développent, et rédacteur en chef des C++ Reports de 1996 à 1999.

« Nous, programmeurs, contrôlons le monde. Nous écrivons les règles qui font fonctionner notre société », écrit celui-ci dans un billet sur son blog. « Il est certainement vrai que la Terre tourne, le soleil se lève, la pluie tombe, et les marées reculent et avancent sans l'aide d'un logiciel. Mais dans notre société, pratiquement rien ne se passe sans la participation d'une quelconque sorte de programme informatique ».

Il avait tenu à rappeler que ce sont les logiciels que nous écrivons, nous autres programmeurs du monde entier, qui font que les téléphones sonnent, les voitures démarrent, les avions volent, les bombes explosent, les navires naviguent, les portes de garage s’ouvrent, l’argent circule, le GPS montre le chemin et l'électricité est générée. « Rien ne se passe sans logiciel. Et qu’est-ce que c’est un logiciel? Le logiciel est un ensemble de règles ».

Selon lui, le pouvoir que la société nous a donné est immense et implique une grande responsabilité. « Nous devrions fixer les limites et les normes de notre comportement » ajoute-t-il. « Imaginez ce que nous pourrions faire si nous devions nous unir. Si les programmeurs du monde entier sont réunis sous une seule cause; nous pourrions dicter les règles au reste du monde. Et le reste du monde n’aurait pas d'autre choix que de s’y conformer […] Toutes les personnes qui essayeront de nous arrêter tout à coup trouveront qu'aucun de leurs téléphones cellulaires ne marche, aucune de leurs cartes de crédit n’est valide, aucun de leurs avions de chasse ne vole, aucun de leurs missiles n’obéit [...] Nous devons décider ce que cela signifie d'accepter la responsabilité de la puissance qui a été placée entre nos mains ».

Robert C. Martin suggère donc d’établir un code d’éthique qui nous rassemble. Toutefois, il déclare qu’« aucune personne n’est en mesure d'écrire un tel code; mais je pense que l'ébauche devrait contenir les points suivants » :
  • nous n’allons pas intentionnellement causer du tort ;
  • notre logiciel sera bien écrit pour parvenir à son but et sa durée de vie ;
  • nous nous comporterons avec honneur et discipline.

Cependant, il fait remarquer que chaque programmeur aura à interpréter la définition de « causer du tort » en fonction de son propre code moral. « Certaines personnes peuvent croire que le travail sur des systèmes d'armement est la meilleure façon de prévenir ou de minimiser les dommages. Ainsi soit-il ». Aussi, selon lui, aucun code d’éthique ne serait complet sans une déclaration sur le comportement personnel, le comportement au sein du groupe et le comportement avec les clients et les collègues. Il propose par conséquent une sorte de « serment du programmeur » dont voici une traduction approximative :

  • je suis un programmeur informatique, je suis profondément fier de ma profession ;
  • pour elle, je dois mes obligations solennelles ;
  • tout progrès humain a été stimulé par le génie de ceux qui manipulent l'information ;
  • en permettant de manipuler beaucoup plus d'informations que jamais, les programmeurs ont grandement participé au développement de la société et accéléré le progrès humain ;
  • si ce n'était la somme des connaissances et expériences des programmeurs, des mathématiciens et des ingénieurs qui sont venus avant moi, mes efforts seraient futiles ;
  • en tant que programmeur, je m’engage à pratiquer dans l'intégrité et l'équité, la tolérance et le respect, et à respecter la dévotion envers les normes et la dignité de ma profession, conscient que ma compétence porte en elle l'obligation de servir l'humanité, et faire un bon usage des ressources précieuses dont je dispose ;
  • En tant que programmeur, dans l'humilité et à la nécessité d'une orientation, je ne vais participer qu’aux causes honnêtes ;
  • Si nécessaire, mes compétences et mes connaissances doivent être données sans réserve pour le bien de tous ;
  • Dans l'accomplissement du devoir et dans la fidélité à ma profession, je donnerai le maximum.


Source : The Clean Code Blog

Et vous ?

Êtes-vous d’accord avec l’avis de Robert Martin ?

Que pensez-vous du code d’éthique qu’il a proposé ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 26/12/2014 à 10:52
le code d'éthique version SS2I :
- En temps que programmeur, je m'engage à être mobile quitte à déménager tout les 6 mois ;
- Je maitriserai 45 langages dans lesquelles je serais vendu comme Expert ;
- Je suis chanceux d'avoir du travail en temps de crise, donc mon salaire sera minimum pour que mon patron puisse s'acheter une nouvelle voiture ;
- Le salaire variable sera là uniquement pour faire joli ;
- Les formations éventuelles seront inutiles ou en auto-formation ;
- Je ne compterai pas mes heures, mais je m'assurerai de faire au minimum 39heures par semaine ( ou par jour ) ;
18  0 
Avatar de Heptaeon
Membre habitué https://www.developpez.com
Le 26/12/2014 à 11:08
Personnellement je propose ces 3 lois :

1) Un développeur ne peut porter atteinte à son patron, ni, en restant passif, permettre que son patron soit exposé au danger financier.
2) Un développeur doit obéir aux ordres que lui donne son patron, sauf si de tels ordres entrent en conflit avec la Première loi.
3) Un développeur doit protéger son existence tant que cette protection n'entre pas en conflit avec la Première ou la Deuxième loi. (Il ne faudrait pas qu'on fasse passer la santé avant le boulot tout de même).

Un bon développeur doit être soumis et loyal c'est bien connu.

ps: Merci Asimov !
5  1 
Avatar de eka808
Nouveau membre du Club https://www.developpez.com
Le 26/12/2014 à 11:26
Dans l'article original, je ne vois que de l'auto satisfaction et de la suffisance.

Mon banquier doit se sentir le maitre du monde quand je lui demande un prêt.
Ma boulangère doit se sentir la reine du monde quand elle me donne le pain que je veux.

Etre développeur est un job, et comme tout job il faut le faire de la meilleure façon possible et ne pas se regarder le nombril en disant qu'on est le meilleurs...
9  0 
Avatar de mypad
Membre régulier https://www.developpez.com
Le 26/12/2014 à 11:28
Citation Envoyé par dfiad77pro Voir le message
le code d'éthique version SS2I :
- En temps que programmeur, je m'engage à être mobile quitte à déménager tout les 6 mois ;
- Je maitriserai 45 langages ou je serait vendu comme Expert ;
- Je suis chanceux d'avoir du travail en temps de crise, donc mon salaire sera minimum pour que mon patron puisse s'acheter une nouvelle voiture ;
- Le salaire variable sera là uniquement pour faire joli ;
- Les formations éventuelles seront inutiles ou en auto-formation ;
- Je ne compterai pas mes heures, mais je m'assurerai de faire au minimum 39heures par semaine ( ou par jour ) ;
Ce qui est sacrément triste, c'est que dans certaines(beaucoup?) SSII c'est entièrement la réalité...
0  0 
Avatar de guillaume07
Débutant https://www.developpez.com
Le 26/12/2014 à 11:39
Fiu, c'est clair que je serai bien embêté si mes missiles ne m'obéissaient plus!
2  0 
Avatar de vampirella
Membre éclairé https://www.developpez.com
Le 26/12/2014 à 14:26
Petit "à-côté" concernant une traduction dans le "serment" :

si ce n'était la somme des connaissances et expériences des programmeurs, des mathématiciens et des ingénieurs qui sont venus avant moi, mes efforts seraient futiles ;

Pour en revenir à l'article : je pense que cela concerne tout le monde et toutes les professions.
Nous ne serions rien sans le secteur primaire qui nous donne (notamment) la nourriture de tous les jours et le bon foie gras de ces fêtes.
Nous ne serions rien sans le secteur secondaire qui nous construit (presque) tout comme les rails, les voitures, ...
Nous ne serions rien sans le secteur tertiaire, dont nous programmeur faisons partie, pour toutes les raisons qu'il évoque.

En tant qu'animal politique et social, nous devrions nous intéresser un minimum sur ce qui nous entoure et ce qui régule nos vies. Ce code d'éthique s'applique déjà aux chercheurs : il n'y a qu'a voir les regrets amers exprimés par les créateurs de la bombe nucléaire ou la réglementation autour des cellules souches.
0  0 
Avatar de diabolos29
Membre éclairé https://www.developpez.com
Le 26/12/2014 à 21:48
"ne participer qu'à une cause honnête"... ... Je demande à ce qu'on définisse avant ce qu'est une cause honnête, histoire de voir si on est tous d'accord .

Sinon, comme code d'éthique, il y a déjà celui des Hackers (il est bien aussi ) :

L'accès aux ordinateurs – et à tout ce qui peut nous apprendre comment le monde marche vraiment – devrait être illimité et total.
L'information devrait être libre et gratuite.
Méfiez-vous de l'autorité. Encouragez la décentralisation.
Les hackers devraient être jugés selon leurs œuvres, et non selon des critères qu'ils jugent factices comme la position, l’âge, la nationalité ou les diplômes.
On peut créer l'art et la beauté sur un ordinateur.
Les ordinateurs sont faits pour changer la vie.
1  0 
Avatar de landry161
Membre éprouvé https://www.developpez.com
Le 29/12/2014 à 7:25
Citation Envoyé par Amine Horseman  Voir le message
[B][SIZE=4]Les programmeurs ont-ils besoin d’un code d’éthique ?

Je pense que oui.
1  0 
Avatar de Excellion
Membre averti https://www.developpez.com
Le 29/12/2014 à 8:18
Ce genre de "serment", s'il le voyait, mon employeur serait un des premiers à le faire signer...

Plus sérieusement, un développeur n'a pas plus de pouvoir qu'une autre personne, et certainement moins de responsabilité qu'un médecin urgentiste.

De plus, le développeur, comme l'informatique, n'a que le pouvoir qu'on lui prête.
Il est certain que plus on se repose sur les développeurs et leurs développements pour tout et n'importe quoi, plus ils ont de pouvoir.

Maintenant, il n'est pas franchement besoin d'un serment quelconque.
Si une personne est traitée décemment, il est certain qu'elle n'a aucune raison de saboter son travail...
Et ce, quel que soit le métier, d'ailleurs.
5  0 
Avatar de Kearz
Membre expert https://www.developpez.com
Le 29/12/2014 à 9:34
« Imaginez ce que nous pourrions faire si nous devions nous unir. Si les programmeurs du monde entier sont réunis sous une seule cause; nous pourrions dicter les règles au reste du monde. Et le reste du monde n’aurait pas d'autre choix que de s’y conformer […] Toutes les personnes qui essayeront de nous arrêter tout à coup trouveront qu'aucun de leurs téléphones cellulaires ne marche, aucune de leurs cartes de crédit n’est valide, aucun de leurs avions de chasse ne vole, aucun de leurs missiles n’obéit [...] Nous devons décider ce que cela signifie d'accepter la responsabilité de la puissance qui a été placée entre nos mains ».
Et si tous les agriculteurs du monde étaient réunis sous une seule cause? Si toutes les armées du monde étaient réunis sous une seule cause? (etc, etc)
Et si tous les fabricants d'énergies du monde étaient réunis sous une seule cause? (Sans électricité, on fait pas grand chose. )

Il est juste impossible de réunir toute une filière sous une seule cause. Il est peut être possible de réunir tous les développeurs de France sous une cause (vu les posts du dessus, je dirais contre certaines pratiques des SS2I ) mais ça restera une action locale, ça n'impactera pas le reste du monde.
7  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web