Du coup avec les retours de certaines personnes, je réalise qu'il manque peut-être une seconde partie à ce post.
Une partie sur tout ce qui a fait de moi un meilleur dev' mais dont personne ne parle jamais ?
J'ai déjà évoqué plusieurs fois du fait que je suis autodidacte.J'ai commencé le dev' vers 18-20 ans. En plein cursus pro pour devenir libraire. J'ai un bac L, un DUT de librairie/bibliothèque et une license pro en documentation.
Je n'ai quasiment pas bossé dans ce domaine là (hormis quelques stages / boulots d'été).
A priori, y'avait AUCUNE raison que je bosse dans l'info avec un parcours comme ça.
Et pourtant…
Funkwhale, c'est un logiciel qui gère une *bibliothèque* musicale. Je vous raconte pas le nombre de pièges que j'ai pu éviter dans le design et l'implémentation de certaines fonctionnalités grâce à mon cursus initial.
Et pourtant…
Le métier de dev, c'est avant tout un métier ou on lit, on écrit et on communique. Je ne parle pas de l'écriture du code, qui est généralement minoritaire dans ce que j'ai pu observer par rapport à tout le reste.
L'apprentissage, la recherche, les spécifications, le support, les demandes d'aide, la documentation (la lire ou l'écrire ;), les échanges, les rapports de bug… Tout ça, ça constitue 80% du boulot de dev', et ça demande avant tout de savoir s'exprimer, de communiquer avec les autres et de comprendre ce qu'on lit.
Autant de choses qui sont généralement plus mis en avant dans les cursus littéraires que scientifiques.
Et pourtant…
Si on mets de côté la partie produit et développement pure, Funkwhale c'est aussi une communauté, une entité juridique au dessus, des valeurs, des choix politiques.
Pour construire tout ça, il a fallu discuter, se réunir, écrire, parler finances, administratif, droit, community management, modération, communication, prise de décision…
Je vous laisse deviner si ma capacité à écrire des tests unitaires en Python ou à utiliser les métaclasses a été d'une quelconque utilité dans ce processus, par rapport à, disons, mes courts de droit, d'éco, de gestion, de communication, de marketing…
Certes, on pourrait considérer que je pinaille et que ce n'est pas du travail de dev à properement parler.
Pour moi, ça fait partie de mon boulot de dev', de faire en sorte que mon environnement de travail soit adapté à mes besoins, à à ceux des autres, et à ceux du projet.
Un peux comme le fait de choisir ses fournisseurs, ses outils, ses tarifs, ses CGU quand on bosse, mettons, dans la construction fait partie du boulot.
Formulé autrement, si tu as envie de développer un logiciel, tu ne peux pas juste ignorer ces questions. Donc ça fait partie du boulot (même si c'est une autre personne qui s'en occupe).
Le corollaire, c'est que si vous avez ces compétences là, vous pouvez acquérir celles qui vous manquent (genre la programmation) *après*.
Ça fera pas de vous un·e moins bon·ne dev !