Interview #2 : Le rôle de CTO

mat

Bonjour Mathieu Despriée. Vous êtes actuellement CTO chez Blue DME.

 

Présentez-moi votre parcours en quelques mots

Je suis tombé dans le code quand j’étais petit ! (Rires)

Mon premier contact avec un ordinateur était en langage BASIC sur TO7. Il n’y avait ni souris ni IHM … mais il y avait un crayon optique ! J’ai toujours aimé coder. Cela m’a naturellement conduit à intégrer une école d’ingénieurs en informatique, l’ENSEIRB à Bordeaux.

A la sortie de mon école, j’ai rejoint une startup spécialisée dans les télécommunications, encore en activité aujourd’hui, dans laquelle je suis restée neuf ans. J’ai débuté en tant que développeur, puis leader d’équipe de développement, et enfin architecte sur différents domaines (architecture technique, fonctionnelle, puis data et Business Intelligence).

C’était une aventure exceptionnelle car cette société avait le même système d’informations qu’un opérateur télécom, en version miniature. Cela m’a permis de travailler sur des sujets très variés et de vivre la croissance d’une startup de 10 à 100 personnes.

J’ai ensuite rejoint OCTO Technology, où je suis resté 5 ans. J’ai réalisé des missions de conseil et d’accompagnement sur mes 2 sujets de prédilection : le dev-leading en agile  et les architectures de données Big Data.  J’ai aussi eu la chance de travailler un an au Brésil pour un client d’OCTO, le plus gros site d’ eCommerce sud-américain.

 

Pourquoi avez-vous choisi de co-fonder Blue DME?

J’ai trouvé mon expérience dans le conseil très formatrice. Mais l’ambiance startup me manquait.

Je m’intéresse au Big Data depuis plusieurs années maintenant : je suis convaincu que la donnée est un actif qui recèle de la valeur, qui peut être exploité et échangé. Quand Julien m’a parlé de son idée pour la première fois, j’ai immédiatement dit oui ! (Rires)

Il y a aujourd’hui très peu d’acteurs dans  le secteur de la monétisation de la donnée. De plus, notre produit innove sur de nombreux plans et implique de multiples travaux en R&D. Cela représentait le challenge idéal dans lequel se plonger.

 

En quoi consiste la fonction de CTO au sein de Blue DME?

 

Je suis avant tout en charge de la stratégie technologique et de la roadmap de construction de notre plateforme. Je dois m’assurer que notre équipe R&D atteigne les objectifs de release et que nous développions de la bonne manière. « Build the right thing, build it right ». :

Je suis aussi responsable de la sécurité IT et de la protection des données qui sont échangées sur notre marché. C’est un point crucial : Blue DME, en tant que place d’échange, joue le rôle de tiers de confiance. Ce qui implique de mettre en oeuvre les politiques de confidentialité , de protection des données, et de sécurité des transactions.

Sans oublier la roadmap R&D, qui est assez fournie. (Rires)

 

Comment gérez-vous votre équipe de développeurs?

Nous travaillons en agile, « test-driven », et par itération de 2 semaines.

Mon objectif consiste à ce que toute l’équipe, selon les sensibilités de chacun, puisse participer à toutes les activités depuis la définition du produit et des interactions utilisateur,  jusqu’à la production et la compréhension de ce qu’il s’y passe.

 

Quels sont, plus précisément, vos tâches au quotidien?

J’essaie de conserver 30% de mon temps pour coder avec l’équipe. Il est primordial de se confronter aux problèmes du quotidien, qu’ils soient nobles (concevoir un superbe algorithme de matching) ou un peu moins (résoudre d’obscurs bugs) avec le reste de l’équipe.

Le reste de mon temps consiste à travailler sur le moyen et le long terme, à construire et adapter la roadmap, à concevoir l’architecture de la plateforme, à évaluer les technologies que nous envisageons d’utiliser, à comprendre vers quoi se tourne la communauté.

J’interviens aussi auprès de nos clients ou prospects pour détailler nos process et rassurer sur notre prise en compte des aspects de sécurité des données.

J’investis également du temps en recrutement, pour constituer la bonne équipe.

 

Avec quelles technologies travaillez-vous ?

Notre stack technologique est assez riche :

data processing : Spark, Mllib, Scala, Akka

front app : Python django, React js

intégration avec les SI : Python

base de données : Cassandra

cluster management : Mesos

infrastructure  : AWS EC2, S3, Ansible, Docker

software delivery : nous évaluons Codeship

 

Quels sont les qualités d’un bon CTO?

Le rôle de CTO varie selon les startups, la maturité de celles-ci, leur organisation, leurs enjeux technologiques.

Pour moi, il doit être porteur de la vision technologique, savoir faire les bons choix techniques et architecturaux. Il doit également se poser en garant de la qualité logicielle et de l’application des meilleures pratiques de développement (agilité, qualité, tests, devops).

En tant que manager, il doit être aussi en mesure de responsabiliser l’équipe et de la faire grandir.

 

Quels conseils donneriez-vous à la jeune génération qui souhaite se lancer dans l’architecture technique et le management agile ?

Pour être un bon architecte, il faut d’abord être un développeur expérimenté sur plusieurs technologies et contextes applicatifs (back, front, data…).

Ensuite, la réflexion de l’architecte se porte sur l’organisation des composants, un choix argumenté de technologies ou de design-patterns en fonction des contraintes qu’on a repérées. Et lorsqu’on est confronté à des sujets complexes, comme les systèmes distribués par exemple, il faut aimer se plonger dans l’étude de l’état de l’art et la lecture de papiers de recherche.

 

Pour éviter l’écueil d’une architecture déconnectée du réel, on peut s’appuyer sur une discipline complémentaire, le développement agile.

La démarche agile met l’utilisateur au centre des préoccupations ; et son seul objectif est d’avoir d’un logiciel opérationnel en production que l’on met à jour le plus souvent possible, afin de réduire la boucle de feedback. Cela implique de s’adapter en permanence aux changements, et de mettre en place les pratiques logicielles permettant ces changements, notamment les tests automatisés.. Enfin, il s’agit de respecter et de responsabiliser les membres de l’équipe, tout en leur donnant le droit à l’erreur.

Le management agile mêle donc à la fois la connaissance des pratiques de développement, la gestion du savoir et la sociologie des interactions dans une équipe. C’est une discipline nouvelle et  passionnante.

 

Pour se lancer dans le management agile, le mieux est évidemment d’être embarqué dans une équipe agile ! (Rires)

Mais je vous conseille avant tout de vous intéresser à ces sujets de pratiques de développement (software craftsmanship, XP, TDD), de collaboration (egoless programming, blameless problem solving), et de processus (Lean Software Development)

 

 

Merci Mathieu Despriée pour vos conseils avisés. Nous vous souhaitons une pleine réussite dans la construction de la plateforme Big Data chez Blue DME.

 

@pauline_reitz

 

Cette entrée a été publiée dans Blog. Sauvegarder le permalien.