Un site web par David Bruant

je voulais juste construire de bons logiciels

Je suis passé par une prépa MPSI+MP
Je suis passé par une école d’ingénieur en informatique et j’ai fait ma dernière année dans une Université de Californie

Un bon élève Je connais mes maths, je connais ma physique, je connais mes algorithmes et mes structures de données, je sais calculer une complexité algorithmique Je connais la gestion manuelle de la mémoire, la programmation orientée objet. J’ai des souvenirs raisonnables de mes cours de compilation. J’ai touché à un peu d’assembleur Un peu de programmation système (process, thread UNIX), de réseau (modèle OSI, réimplémentation de divers protocoles) Des bonnes notions de l’écosystème XML Et du web, un peu de web, de HTTP, de JavaScript (même si le gros de ça, je l’ai appris en auto-didacte ^^)

Pas seulement un bon élève. J’ai appris ma place. Parce que ce système nous apprend que nous avons une expertise, donc une place. La place de prendre un problème et d’y trouver la solution la plus belle, la plus solide, la moins cher, etc.

Et cette place, elle est confortable … quand le cadre qui permet cette place existe :-)

lapin blanc

étincelle d’intuition

j’avais déjà senti un peu le piège

La place de prendre un problème et d’y trouver la solution la plus belle, la plus solide, la moins cher, etc.

Cette place des ingénieur.e.s n’inclut pas de questionner le problème, de refuser de le résoudre
L’ingénieur est un outil intelligent dans les mains d’autres personnes\

Qui sont ces autres personnes ? Quelles sont leurs intentions ? Est-ce que je suis en accord avec ces intentions ? Et si le problème est mal défini ? Est-ce que je touche mon salaire pendant des mois à créer un logiciel qui ne servira en fait à rien ?

Les cursus d’ingénieurs ou universitaires n’invitent pas à travailler ces questions, n’invitent pas les élèves-ingénieur.e.s à l’introspection nécessaire, à prendre le temps pour être prêt.e.s à ce genre de questions

La majorité des ingénieurs se font absorber dans des SSII (ah non ! on dit ESN maintenant !) où le cadre de cette place est plus ou moins garantit

Alors, j’ai plutôt visé des structures plus petites

naufrage d’une startup

Je me souviens de mon entrée dans Dijiwan

Le recrutement qui commence par un tweet. Une PR sur github, un “entretien” (mais leur décision était plus ou moins déjà prise). Une discussion sur-réelle dans laquelle le patron m’explique qu’il y a 4 pôles (c’est une boîte de 10 personnes) et que pour parler à quelqu’un d’un autre pôle, il faut d’abord que j’en parle à mon responsable de pôle qui en parlera au responsable de l’autre pôle qui en parlera avec la personne Une discussion sur le salaire

Et puis la signature d’un CDI en janvier 2012
Contrat à Durée Indéterminée
Dans l’esprit général et le mien à l’époque, c’est un contrat qui est valable indéfiniment, qui garantit un salaire à vie sauf départ volontaire ou accord entre l’entreprise et le salarié ou faute grave

Je me souviens qu’au bout de quelques semaines, une nuit, je n’ai pas bien dormi, parce que je comprenais que si le chercheur en sciences sociales de la boîte se barrait du jour au lendemain, la boîte s’écroulait parce que ce qu’on construit, c’est ce qui sortait de son cerveau, son seul cerveau
mais il n’est pas parti

J’ai été le bon ingénieur
On est parti sur Node.js (à l’époque 0.6 et l’écosystème n’était pas ce qu’il est aujourd’hui), on a tout bien codé. Un peu de tests automatisés, un peu de documentation, on essaye parfois de faire du pair programming. Un jour, j’ai parallélisé le code pour qu’il tourne sur 4 cœurs plutôt qu’un. On commence à réfléchir à extraire certains morceaux pour les mettre en open source. On fait du web, côté client, côté serveur, une extension Chrome. J’apporte une influence des capabilities qui nous fait gagner un peu de temps J’ai été le bon ingénieur\

un jour de juillet 2012, alors que je suis au Canada, une autorisation de paiement dans un hôtel ne passe pas. Le chèque de Dijiwan a été rejeté par la banque Il n’y a pas assez de clients. Ils ne payent pas assez rapidement. Peu importe, y’a pas assez d’argent.

Ça se finit aux Prud’hommes et l’AGS paye nos salaires manquants après une période particulièrement anxiogène En effet, quand on est salarié en CDI et que l’entreprise ne paye pas le salaire par surprise, on ne peut pas vraiment démissioner rapidement, ni vraiment chercher un autre emploi (quand dans les heures de bureau on travaille, on ne peut pas aller à un entretien d’embauche sinon, on risque un licenciement pour faute grave : abandon de poste) On peut aller aux Prud’hommes. Même en référé, c’est long. Surtout quand la séance est reportée parce qu’on fait des erreurs de débutants. La Justice, ce sport de riche.

Peu importe les péripéties
Il existe un autre cas où le CDI ne garantit pas un salaire à vie : quand l’entreprise n’a plus d’argent

Et var spawn = require('child_process').spawn;, être le bon ingénieur, ça n’a pas grand intérêt si le logiciel qu’on parallélise n’a pas assez de clients qui payent suffisamment

Mais aussi, une trésorerie, ça n’arrive pas à zéro par magie. Il y avait sûrement des occasions de nous prévenir avant qu’un tel évènement pouvait avoir lieu. Une meilleure communication entre les personnes

seul

Quand on est auto-entrepreneur, écrire du code d’excellente qualité, être le bon ingénieur, ne suffit pas. On ne trouve pas des personnes qui font suffisamment confiance pour échanger de l’argent en écrivant du code. Il faut rencontrer les gens avant. Se faire connaître. Construire une confiance. Ça c’est pas un problème technique. C’est un problème très social, pas du tout technique

J’étais pas prêt. J’étais pas bon
J’ai tenu cette période notamment grâce au soutien financier de ma copine de l’époque et c’est un pansement, pas une solution

Et seul aussi, surtout, on est limité
Par son temps qu’on n’a qu’en un seul exemplaire, par sa propre motivation, par ses angles morts, par son essentielle non-diversité

Ici, je prends le temps de décrire