Aller au contenu principal
Retour au blogue

Développement logiciel

Le plaisir de travailler dans un dev shop

Philippe Trépanier
25 févr. 2021 ∙ 5 mins
clavier d'ordinateur illuminé

Nous avons tous nos raisons personnelles d’aimer (espérons-le) notre boulot. Certains développeurs rêvent à l'atteinte d’un résultat précis, voir les produits prendre vie et et apporter de la valeur aux utilisateurs. D’autres sont passionnés par les moindres détails, la conception des algorithmes complexes pour le simple plaisir de résoudre des problématiques. Je suppose que la plupart des développeurs sont un mélange des deux, avec un petit quelque chose en plus. J’ai pris le temps de réfléchir sur cette question. Voici un aperçu de mon opinion à ce sujet.

Rien ne dure éternellement

Je suis passionnée par mon métier, je veux contribuer sur le long terme. Mais, la vérité est que la passion s’estompe.

Ici je ne me réfère pas à la passion de collaborer avec son équipe, mais plutôt à notre relation avec les projets et produits qui évoluent avec le temps. Travailler sur des projets reliés aux médias sociaux était peut-être ce qui nous motivait à démarrer notre journée il y a deux ans. Aujourd’hui, c’est peut-être le fait de collaborer avec une organisation à but non lucratif qui vous motive..

Comment gérer cette chute libre de notre passion pour un produit quand on aime les gens et l’ambiance de travail ? À un certain moment, on souhaite autre chose, contribuer pour avoir un impact sur le monde, tout en savourant notre café du matin.

L’expérience dans les Dev Shops (agences de développement de logiciels) est tout le contraire. Nous prenons un moment dans nos vies pour réaliser un projet, peut-être quelque chose de petit et sans signification émotionnelle ou d’énorme et ardu, puis nous le livrons et passons le bâton à nos clients. Le produit n’est jamais réellement à nous, mais nous agissons tout de même comme s’il l’était. Ce qui est particulier, c'est que nous n’avons pas carte blanche sur les priorités et le travail que nous devons accomplir. Nous ne choisissons pas qui vient frapper à notre porte avec une idée et une passion, mais nous l’acceptons quand même. C’est un cycle de découverte, de confort, de joie, puis de perte.

Si vous aimez quelque chose, libérez-le. La suite ne se résume pas aux tâches à effectuer. Il y a les personnes avec qui nous avons collaboré, les connexions que nous avons établies et les connaissances et l’expertise partagées qui constituent notre succès.

Le monde ne bouge pas vite, nous oui.

Les voitures vont vite aux yeux des gens debout.

Je me suis souvent questionnée sur la durée de vie de nos compétences techniques. Lors de mon premier emploi dans le domaine des logiciels, on m’a dit que les grands programmeurs ne sont jamais dépassés, ils s’adaptent au monde qui les entoure. La triste vérité est que la grande majorité des programmeurs ne sont pas « extraordinaires ». Nous ne passons pas 20 heures par semaine à lire le dernier livre d’informatique, et nous ne nous mettons pas en quatre pour être toujours à la pointe du nouvel outil qui a piqué la curiosité des gens sur les réseaux sociaux. Nous mettons en œuvre les spécifications qui nous sont données avec un succès modéré et nous nous assurons que nous en savons juste assez pour passer à l’itération suivante. Mais que se passe-t-il lorsque tout change et les besoins de l’entreprise ne sont pas en parfaite harmonie avec nos connaissances ?

C’est là que les agences sont avantageuses pour ceux qui peuvent apprendre en permanence, car elles nous placent sur la voie rapide de l’autoroute de l'apprentissage.

Sauter d’un projet à l’autre est… difficile (c’est le moins qu’on puisse dire). La gestion du stress est une compétence requise, ainsi qu’une bonne gestion de la charge mentale. Mais une fois que ces compétences deviennent acquises, l’adaptation devient la norme, nous avançons à la vitesse maximale.

Le grand T

Dans le contexte d'une firme de développement logiciel sur mesure, l’équipe de développement s'identifie facilement à l’expression « Masters of none, jack of all trades » (personne capable de tout faire, mais expert en aucun domaine). La raison en est simple : il est difficile de devenir extraordinaire dans un domaine lorsque l’on doit se débrouiller dans une variété de compétences. Le développement de compétences techniques avancées prend du temps et de l'énergie. Avec la tendance Full Stack 2.0, les développeurs doivent comprendre (au moins) les technologies front-end, back-end, mobile, DevOps, etc. L'énergie et le temps consacrés à une variété des domaines peuvent diluer la maîtrise d’un domaine en particulier.

Mais les concepts ne bougent pas trop, n’est-ce pas ? Les modèles de conception/architecture dont nous sommes tous si excités aujourd’hui (ahem CQRS) ne sont pas si jeunes ou nouveaux qu’on le croit. D’un niveau débutant à expert, le terrain de jeu devient de plus en plus facile. D’après mon expérience, les développeurs dans une agence de développement peuvent commencer à prendre le fameux T-Shape après trois ans d’expérience.

Au-delà de la compétence en matière de développement de logiciels. Il est tout aussi important de se développer dans d’autres domaines. Comprendre les coûts au-delà de ce qui a été mentionné lors du dernier sprint, ainsi que les compétences générales nécessaires pour traiter avec des entreprises partenaires. Apprendre comment fonctionnent la conception et la gestion de projets numériques.

Alors, quel cadre moyennement digne de ce titre voudrait des développeurs qui ne font pas que du développement ? Ils sont payés pour coder, pas pour discuter !

Je crois fermement qu’il y a une limite à l’avance qu’une équipe peut prendre lorsque nous ne comprenons pas ce que font les autres. Mon équipe ne comprend pas seulement les autres développeurs, mais aussi les équipes de conception UX/UI, les gestionnaires de projets, les comptables, les architectes, etc., l’ensemble de l’équipe, voire de l’entreprise, évolue lorsque nous nous comprenons les uns les autres.

Ce qu'il faut retenir

À mon humble avis, l’aspect le plus important d’une agence de développement est le service qu’ils vendent. Je ne peux pas parler des autres compagnies, mais chez Osedea, ce n’est pas notre temps qui compte, mais notre culture et notre approche.

Bien sûr, nous programmons. Nous sommes des développeurs de logiciels après tout ! Mais, je pense que ce n’est qu’une partie de la solution et de ce qui nous rend exceptionnels. Notre offre va au-delà de ça : notre équipe se souci de la qualité du travail et les personnes avec qui nous collaborons; nous allons loin parce que nous avançons ensemble; nous évoluons vite parce que c’est ce que nous sommes; nous valorisons la diversité non seulement des personnes, mais aussi des idées et des solutions. Nos clients ne sont pas simplement des clients, mais des partenaires, que nous allons aider à réaliser des grandes choses.

Le tout est plus grand que la somme des parties et c’est pour cela que je choisis de travailler dans une firme de développement de logiciels sur mesure.

Photo : Chris J. Davis