Il y a tout pile un an, le 1er juin 2017, j’ai rejoint Karnott en tant que CTO. Durant cette année passée, on m’a souvent posé la question suivante : « Mais finalement, un CTO dans une startup, ça fait quoi ? » J’avoue que je n’en savais pas grand chose, ayant travaillé pendant 10 ans principalement pour des grands comptes, et d’ailleurs je ne sais pas si il y a une unique réponse à cette question. Je vais juste essayer de faire un petit retour d’expérience, et raconter ce qu’il s’est passé durant cette année.
Mais revenons encore un an en arrière. En 2016, Antoine Dequidt et Alexandre Cuvelier, les deux fondateurs de Karnott, ont confié la concrétisation de leur idée à des développeurs de leur connaissance. Le truc quand on a une idée, c’est qu’on est très loin d’imaginer du premier coup le produit parfait. On ajoute à ça une pincée de développement au forfait, des spécifications fonctionnelles imprécises, et des technologies pas toujours adaptées, et on arrive à un projet qui fonctionnait tout de même, sans répondre totalement au besoin initial.
Je suis donc arrivé dans ce contexte. Mon premier job a été de m’approprier le projet, le fonctionnel, le code, et d’y mettre ma patte. Fiabiliser le bousin, mettre des tests, de l’intégration continue… Ce qui a toujours été super chez Karnott, c’est que dès le premier jour, j’ai eu la contrainte de devoir être au petit soin avec la prod’. En effet, nous avions déjà des utilisateurs, et même si certains jours cela démangeait de tout défaire pour repartir de zéro, il fallait se réfreiner, planifier, réfléchir, et prévoir des plans de migration. Avec le recul, je me dis que cette contrainte de la prod’ m’a aidé à concevoir un système plus solide et pragmatique.
Sur certaines parties, j’ai aussi compris que j’avais besoin d’aide. Typiquement je suis un très mauvais intégrateur web… Et j’en ai tiré la première leçon primordiale :
En tant que CTO, je n’ai pas la science infuse
Alors on s’est entouré. Tout d’abord avec de la prestation, des partenaires en qui nous avions confiance (Coucou Sfeir et Tymate <3 ), avec en parallèle la volonté d’embaucher une équipe de développeurs à embarquer dans l’aventure… Fin aout puis début octobre 2017 nous ont donc rejoint François, dev Front React, et Georges, Fullstack Ruby. 3 développeurs, avec 3 profils complètement différents. Il a fallu apprendre à se connaitre, et cela fit apparaitre la composante la plus importante de mon boulot de ces 12 derniers mois :
En tant que CTO, je m’assure de la cohérence de l’équipe et du projet
Je considère la cohérence humaine et technique comme intimement liée. La technique doit répondre à un besoin fonctionnelle et des contraintes (IOT, scalabilité…), mais dès le premier jour, nous étions tous d’accord sur le fait que tout le monde travaillerait sur l’intégralité de la stack. Il a fallu se mettre d’accord sur des technos que nous avions tous envie d’apprendre, avec lesquelles nous serions productifs. Le choix le plus significatif a été de refondre l’api en Golang. On pense ce que l’on veut du langage (à titre personnel j’aime beaucoup cet article de Sylvain Wallez qui résume bien ma pensée), mais il a eu le mérite de nous permettre de refondre une API complète en quelques mois, de résoudre nos soucis de performances et surtout d’être « facilement » maitrisée par toute l’équipe.
La mise en place d’une équipe, c’est aussi mettre sa casquette d’agiliste, et proposer tous les rituels qui nous permettent de partager et collaborer tous les jours. Daily Meetings, Rétro, Pull Requests systématiques, Sessions de Code Reviews… Si l’on veut travailler sur l’intégralité de la stack et ne pas risquer l’isolement de la compétence, ces étapes sont juste indispensables.
En parlant d’isolement, un autre risque est que l’équipe de devs s’isole du reste de l’entreprise. Chez Karnott, toute l’équipe commerciale est issue du monde agricole. La connaissance métier, c’est eux qui l’ont, et nous ne devons jamais l’oublier. Il est tellement facile de développer des fonctionnalités techniquement sympa, mais complètement à côté de la plaque… Alors voilà :
En tant que CTO, je m’implique dans la réflexion autour du produit
Si l’équipe commerciale vient du monde agricole, je ne leur ferai pas offense en disant qu’ils découvrent tous l’univers du développement d’une application Web. Alors toute cette année il a fallu apprendre à communiquer, qu’ils m’expliquent leur métier, et que nous leur expliquions le notre, et nos contraintes de développeurs. « Tout est possible, tout n’est qu’une question de délai et de priorités » a sans doute été la phrase que j’ai le plus répétée. Mais dev ou commerciaux, nous avons tous fait de notre mieux pour nous impliquer dans la construction du produit Karnott, et être au plus prêt de ce que nos utilisateurs réclamaient. L’arrivée prochaine d’un Product Owner devrait nous faire franchir une étape de plus en ce sens…
Et puis avec le temps et le succès commercial, les priorités et les contraintes changent. Très naïvement, je n’avais pas du tout anticipé cette partie là, mais Karnott est à une période charnière dans sa structuration et nous devons construire un SI d’entreprise. Automatiser la logistique, le monitoring, les prises de parole, la facturation, bref, tout ce qui fait que nous pourrons accueillir sereinement beaucoup plus de clients. C’est techniquement pas mal de travail, ce qui force à ralentir les évolutions du produit Karnott lui-même, mais c’est indispensable.
Tout ça pour dire que j’attendais du challenge, et je n’ai pas été déçu ! Je pourrais encore parler du monde agricole que je découvre tous les jours et que je trouve passionnant, de l’équipe géniale et enthousiaste, des raisons pour laquelle nous venons d’annoncer une deuxième levée de fonds, ou encore vous encourager à venir nous découvrir sur WelcomeToTheJungle. Mais là tout de suite, j’ai juste envie de savourer une année riche en émotions (ah oui, je suis papa aussi ! <3 ), et d’attendre avec impatience l’année prochaine !
L.B.