Mon expérience chez GitLab
- J’ai travaillé chez GitLab pendant environ six ans, d’octobre 2015 à décembre 2021.
- J’ai décidé de quitter GitLab pour me consacrer pleinement à Inko, mais je n’avais jamais partagé mon expérience chez GitLab.
- Mon NDA (accord de confidentialité) a expiré, et j’ai enfin eu l’énergie de revenir sur mon passage chez GitLab.
Avant GitLab
- Je travaillais dans une petite startup basée à Amsterdam, où je participais à Rubinius ainsi qu’à Oga, une bibliothèque d’analyse XML/HTML.
- Faute de financement et en raison de problèmes techniques, nous avons cessé de poursuivre l’usage de Rubinius.
- J’ai rejoint GitLab en demandant si je pouvais consacrer un jour par semaine à travailler sur Rubinius.
2015-2017
- Mon premier jour chez GitLab a eu lieu le lendemain de mon dernier jour dans mon entreprise précédente, marquant mon passage au travail à distance.
- GitLab était une entreprise en remote, mais aussi une entreprise sociable, avec de nombreuses rencontres et événements.
- GitLab traversait des difficultés : problèmes de performance, pannes fréquentes des serveurs et problèmes de gestion.
- L’infrastructure de monitoring des performances faisait défaut, ce qui rendait les améliorations difficiles.
- J’ai essayé de faire évoluer la culture et l’état d’esprit chez GitLab, mais cela a été difficile en raison de l’insatisfaction de l’entreprise face aux progrès sur les performances.
2017-2018
- Les performances se sont nettement améliorées et GitLab a commencé à prendre le sujet beaucoup plus au sérieux.
- J’ai rejoint l’« équipe base de données », centrée sur les performances de la base de données.
- J’ai construit le load balancer de base de données de GitLab, avec un impact positif sur les performances.
- Je me suis opposé, sur la base de données concrètes, au besoin de sharding avancé par GitLab.
2019-2021
- J’ai rejoint l’équipe « Delivery » pour me concentrer sur l’amélioration du processus de release et des outils de GitLab.
- En moyenne, il fallait plusieurs jours, et dans le pire des cas jusqu’à trois semaines, entre l’arrivée d’un commit sur la branche principale et son déploiement sur GitLab.com.
- J’ai piloté le travail de fusion de GitLab Community Edition et GitLab Enterprise Edition en un seul produit.
- Des problèmes liés à la gestion des ordinateurs portables et des changements culturels ont fait baisser ma motivation et ma productivité.
- Des conflits avec un nouveau manager ont conduit à la mise en place d’un « plan d’amélioration de la performance ».
Ce que j’ai appris
- La scalabilité doit faire partie de la culture d’entreprise : GitLab n’accordait pas assez d’attention à la scalabilité.
- Les équipes doivent être davantage centrées sur les données et les développeurs : GitLab avait une structure centrée sur les product managers.
- Sans données, il est impossible de définir un “produit minimum viable” : GitLab faisait du « changement fonctionnel minimal » un principe central, mais a en pratique créé beaucoup de fonctionnalités peu utiles.
- Le SaaS et l’auto-hébergement se marient mal : GitLab proposait à la fois des installations self-hosted et une offre SaaS, mais cela ne fonctionnait pas efficacement.
- Plus de personnes ne signifie pas de meilleurs résultats : GitLab a beaucoup recruté au fil des années, mais davantage de développeurs n’améliorent pas nécessairement la productivité.
- Les tensions autour de l’usage de Ruby on Rails : GitLab a réussi avec Ruby et Ruby on Rails, mais cela devient un défi sur des projets de grande taille.
- Le temps de déploiement du code est crucial pour la réussite d’une organisation : chez GitLab, réduire ce délai était un objectif important.
- Les salaires basés sur la localisation sont discriminatoires : GitLab payait différemment selon le lieu de résidence, ce qui constitue une pratique discriminatoire.
L’avis de GN⁺
- Cette expérience chez GitLab aide à comprendre les avantages et les inconvénients du travail à distance, ainsi que les divers problèmes rencontrés pendant la croissance d’une startup.
- Elle souligne l’importance de l’amélioration des performances et de la scalabilité, ainsi que la nécessité d’en faire un élément culturel durable.
- Elle met en lumière le problème des salaires basés sur la localisation, un cas important dans les discussions sur une rémunération équitable dans les environnements de travail à distance.
1 commentaires
Discussion sur Hacker News