I'm a CTO bitch!

07/09/2015
startup entreprendre creativedata big data

Depuis maintenant 6 mois, je suis officiellement le CTO/Directeur Technique et associé de Creative Data. J'ai rejoins l'ami Arnaud Muller dans le grand saut de la startup avec levée de fonds.

Je suis en charge du développement de Creative Data Platform, une plateforme big data prête à l'emploi et de la co-direction de la société avec mes 2 associés. En gros, j'ai un role de product owner qui code.

Après 4 ans chez un éditeur européen de 400 personnes, c'est un grand bol d'air :

  • pour les achats de licences, de matériel informatiques c'est très rapide pour le processus d'achat, ce qui compte c'est productivité!
  • pour les solutions en ligne comme cloudbees, c'est pareil, l'approche est darwiniste, si on se trompe on coupe l'abonnement,
  • on peut enfin prioriser sur le code et la qualité produite au lieu de batir de lourds processus de planification (je ferais un article sur ce sujet prochainement),
  • on confronte des préversions du produit au marché, on a un retour utilisateur assez direct.

Par contre :

  • il faut peser chaque dépense,
  • le rythme est très élevé (mais au moins pour les bonnes raisons),
  • l'avant vente représente un effort plus grand que prévu (30%) en même temps c'est dans ces phases qu'on capte les souffrances du client,
  • on sort de sa zone de confort très souvent (pour moi juridique, communication, marketing).

Dans tous les cas, c'est une grande aventure qui commence. Sans aucun doute, plein de petites histoires à raconter!

Pas de commentaires

Retour sur Codeurs en Seine Edition 2014

15/08/2015
conference

Note : gros retard sur mon blog, je profite de l'acalmie du mois d'Août pour le mettre à jour. Quelques articles un peu décalés dans le temps...

Un rapide article pour revenir sur l'organisation de l'édition 2014 de Codeurs en Seine.

Cette année on a fait un peu grossir la conférence, on est passé de 250 participants à 380 participants avec 4 sessions en parallèles.

Comme l'organisation était un plus rodé j'ai pu profiter de quelques conférences :

  • KISS my A** par Emmanuel Lecharny : c'est moi qui insisté pour faire venir le maître troll de la mailing liste des cast codeurs, on a eu du troll mais aussi du recul sur notre mission, nous programmeur, de gérer la complexité (avec ou sans framework).
  • Management Hacking de Alexis Nicolas : je suis son blog, j'ai été terriblement déçu par le contenu et la manière.
  • Java 8 par José Paumard : du José Paumard, c'est propre, réglé à la seconde, intéressant et on comprends tout.
  • Scala par Xavier Buchiotty : 45 mn de live coding sous vi sur la mise en place d'un DSL à partir de scala, grosse qualité, mais on a perdu quelques personnes dans la salle.
  • Google Glass par Alain Régnier : maintenant limite un post-mortem, mais très bon show de Alain.

Dans les autres amphis à noter :

  • Git++ : nos amis du chtit jug qu'on avais repéré à Devoxx France, a été la conférence la plus applaudie!
  • Bunkr : Alexis Jamet a fait le show, la keynote a eu la meilleure note de la conférence.
  • Christophe Porteneuve : les 25 ans du javascript avec un développeurs web de la première heure, la track web a attaqué la journée très fort.
  • Machine Learning avec Stéphane Canu : un chercheur star dans la conférence, on a pris le risque, on a pas été déçu!

A noter que j'ai refait mon quickie "Outils du Manager". J'ai fait une performance moyenne, difficile de faire conférencier et organisateur en même temps. Par contre, le contexte était particulier. Au 1er rang j'avais ma future équipe. Au 4ème rang, j'avais mon ancienne équipe (qui ne le savait pas encore).

Les vidéos sont sur la chaine youtube et les slides sur Lanyrd.

Pas de commentaires

Devoxx Belgium 2014 (2)

14/08/2015
devoxx java entreprenariat

Note : gros retard sur mon blog, je profite de l'acalmie du mois d'Août pour le mettre à jour. Quelques articles un peu décalés dans le temps...

Le résumé de la deuxième journée à Devoxx Belgique.

Keynote - Google Material design

La journée a commencé avec une revue des principes de material design. Il faut que je vérifie une chose, coté web est-ce qu'on aura un framework à bootstrap permettant une intégration facile?

Angular at scale

Une présentation bizarre, elle aurait pu se résumer en 3 slides.

Ils ont présenté comment ils ont unifié les aspects présentations et comportement des composants en développant et documentant à la bootstrap une bibliothèque de directives/composants avec une grosse participation de spécialiste en ergonomie.

Ainsi, les développeurs d'applications font un mashups des composants existants et ne réinvente pas la roue à chaque fois.

Ils ont insisté sur l'utilisation d'outillage (les classiques grunt et bower) et sur la mise en places de test automatisés sur les composants (karma).

Et c'est tout, rien sur l'organisation des projets, sur comment techniquement tu partages les directives. je suis donc resté sur ma fin.

Growth Hacking

Je suis ensuite passé sur la track startup par une présentation sur comment hacker la croissance de sa société.

Pour cela, avant de se lancer dans la croissance, il est nécessaire que :

  • le produit doit être bon avant de lancer une grosse compagne de publicité,
  • l'idée n'est rien, tout est dans l'exécution,
  • le marketing doit capter la valeur généré par l'exécution

A ce moment, il est nécessaire de trouver des techniques de "rase campagne" sur chaque étape du tunnel de vente :

  • acquisition,
  • activation,
  • retention,
  • revenue,
  • referal.

Ensuite à vous de trouver les techniques nécessaire pour développer votre boite. Voici des exemples :

  • Hotmail avait une petite phrase automatique à la fin de chaque mail,
  • AirBNB as utiliser différents hacks comme l'embauche de photographes professionnels et la publication automatique sur craiglist),
  • Booking.com met la pression sur les utilisateur en affichant le nombre de personnes regardant la chambre d'hôtel (chiffre bidon),
  • Ebay a forcé ses utilisateurs à utiliser paypal.

Equilibre entre produit et marketing

Testing in agile context

Un retour intéressant, du leader d'une équipe de test/QA dans un monde ou le développement agile est la norme.

Il a du gérer le changement d'un monde en cycle en V ou ils avaient le temps de préparer un cahcier de test, de tout couvrir et de donner une couverture de test manuel vers un monde ou les livraisons sont très itératifs et ils n'ont plus le temps de tout couvrir.

Il a du mettre en place les changement suivants :

  • le test n'est plus une phase du projet mais un processus continu,
  • la QA s'est dilué dans les équipes de développements.
  • réduire au maximum le délai de feedback sur chaque développement,
  • en conséquence les développeurs doivent d'abord corriger les bugs,
  • et les testeurs doivent rester raisonnable, conçis et se baser sur des critères d'acceptance.

Le principal chantier est toujours l'automatisation des tests (cf le cône versus la pyramide).


Le cône (Anti-pattern)

La pyramide (Cible idéal)

Startup need money

Retour dans la track startup, avec une courte conférence sur comment monter une startup :

  • trouver un problème à régler,
  • vérifier que vous êtes la bonne personne pour le résoudre,
  • trouver une équipe.

A un moment donné, vous aurez besoin d'investisseur si vous avez besoin de booster la croissance de la startup :

  • les investisseurs ne poussent pas dans les arbres il faut aller les chercher,
  • juger aussi vos investisseurs en tant que personnes vous aurez à collaborer par la suite,
  • la croissance et le confort ne sont pas compatibles,
  • prenez du recul, restez cool et garder votre sens de l'humour.

Don't forget to dream

Founders Dilemmas

Autre rapide présentation sur le dilèmne des fondateurs de société. En effet, il devra en permanence arbitrer entre décision qui lui permettra de garder le contrôle ou de potentiellement augmenter le gain possible.

En effet, plus le fondateur souhaite garder le contrôle, moins cela permettra d'optimiser les rentrées d'argent. Cela commence par l'arrivé de co-fondateurs et d'associés, puis par l'arrivée d'investisseurs.


Richesse versus Contrôle

San francisco

Une présentation qui donne les dernières informations de la silicon valley :

  • plus que jamais une grosse densité pour réseauter,
  • les bon développeurs sont chères, c'est très difficile de maintenir en équipe stable,
  • les investisseurs ne sont plus intéressés par le services et les produit "on premise", il veulent du SaaS,
  • les investisseurs veulent savoir qui détient les données,
  • lever des fonds : un énorme travail, un monde différent,
  • les coachs et conseillers (advisors) sont très importants,
  • l'aspect réseau et conseil des investisseurs est très importants,
  • le business à l'international est compliqué.

Woorank

Un autre retour de startup, une autre vision.

Cette fois ci, on est en mode organique avec une approche à base de bout de ficelles (bootstratp) et d'approche MVP (Minium Viable Product) :

  • pas mal de service au début pour s'auto financer,
  • vente en marque blanche pour booster la croissance,
  • augmentation des tarifs au moment ou toute l'équipe est passé à temps complet sur le produit,
  • embaucher sur github et les hackathons.

Techniquement, une architecture micro services a été mise en place (avec la complexité de déploiement que cela incombe). Il passent maintenant à une deuxième version de l'architecture (traitement temps réel...)

Pas de commentaires

Devoxx Belgium 2014 (1)

16/11/2014
conference devoxx java

Voici le retour de ma première journée à Devoxx Belgique.

Keynotes

Devoxx s'étends au fur et à mesure sur l'ensemble de l'europe. Après Anvers, Paris et Londres, en juin prochain il y aura un devoxx pologne à Cracovie (krakow).

Red Hat digère ses différents rachats et nous propose un PAAS (platform de développement dans les nuages). Au programme de programmation d'application mobile et un middleware basé sur activemq et camel (donc du rachat de fuse source) avec à priori un éditeur en ligne.

Oracle ramène peu à peu Java dans son objectif initial des années 90 ... dans l'embarqué : microcontrolleur, internet des objets, voitures...


La gare d'Anvers

Apache Mesos / Cluster

Une présentation de mesos par un petit français @samklr. Mesos est un manageur de conteneurs qui fourni une API utilisable par un orchestrateur de jobs.

Cela permet de passer outre les limites du partionning statique et de lisser et optimiser l'utilisation des ressources des serveurs. On va pouvoir ainsi balancer la charge des jobs sur des contenaires dédiés.

Mesos est de la fondation apache et a été mis à l'épreuve du feu de Twitter & AirBnB. Il est testable sur la plateforme de google si j'ai bien compris.

Le système de containeur s'est d'abord basé sur LXC pour aller ensuite vers c-groups. Zookeeper est utilisé pour la gestion de la haute disponibilité. Cette année le support de docker a été ajout, ainsi les 2 systèmes de containers peuvent cohabiter derrière l'API de Mesos.

Dans les type containeurs, on a tous un écosystème. Example Marathon pour des services qui se lance dans la durée (exemple un site web). A contrario l'orateur ne conseille pas d'héberger de base de données dans les containeurs.

Plus d'information : Mesos Mesosphere


L'architecture globale de mesos

Chet Haase - Process, Process, Process

Une session "détente" qui démontre par l'absurde la bétise de pas mal de sociétés et des boites de conseils. Les qualités de Stand up de Chet Haase font tout le travail.


Plus il y a de lignes de codes, plus il y a de bugs, il faut donc écrire moins de code

Probably, Definitively, Maybe

C'est la présentation qui pique avec beaucoups de théorie mathématiques :

  • la description des différentes variantes de le l'algo de classification de Bayes,
  • la prise de décision avec le modèle de Markov,
  • les filtres de kalman qui est très robuste et utilisés par la Nasa et l'armée depuis longtemps.

La présentation aurait gagné à être accessible en mettant 50% de théorie et 50% d'exemple. Le trop de théorie m'a rappelé la prépa et l'école d'ingénieur.


Slide en mode tableau noir pour bien te rappeler l'école

Web performance tuning

C'est la session qui m'a le plus intéressé. Au final très peu de technique, mais une description très clair d'une approche d'amélioration des performances d'une application web.

La première chose c'est de s'entendre avec les utilisateurs sur ce qui est lent. Cela demande des efforts des 2 cotés pour avoir un langage commun. Du coté utilisateur, il faut partir du "c'est lent" à combien, quelle unité et quelles attentes. Du coté développeur, ne pas partir trop tôt dans une mauvaise direction, prendre la donnée et résoudre les vrais goulots d'étranglement

L'approche est globalement la suivante :

  1. Collecter les données (et prendre uniquement ce que l'on a besoin)
    • Réseau : tester dans les 2 sens et prendre en compte les accès externes.
    • Serveur : utiliser les commandes linux.
    • JVM: paramètre du garbage collectors.
    • Containeur : attention aux sessions.
    • Cache : obligatoire mais à utiliser avec attention.y
    • Application : attention aux sérialisation en chaîne, ne pas se focaliser sur les requête longues, prendre en compte les volumes de requêtes.
    • Base de données, api externe : mesurer
    • Note 1 : une autre paire de yeux.
    • Note 2 : tout le monde ment, vérifier avec des données.
  2. Analyser :
    • Ne pas se baser sur les préjugés (réseau parfait et stable etc...)
    • ne pas oublier les solutions altyernatives
  3. Retirer les goulots d'étranglement
    • aller au dela de votre zone de confort : infra, réseau, virtualisation.
    • Ne pas copier bêtement des réglages de jvm et d'un poste de blog.
    • Aller chercher ce qu'il y aderrière les méthdoes opbjets que vous utiliser (exemple : JPA/Hibernate, arraylist et linked list).

Enfin lorsque que vous fournissez une API, vous ne pouvez prévoir comment elle va vraiment être utilisé, rendez-la configurable. Surtout fournissez des résultats de test de performance pour des scénarios précis.


Step out of your confort zone

Modern App Architecture

Un talk un peu bizarre, la forme, l'humour, les anecdotes, l'énergie était très bonne, par contre c'était un peu vide et le vrai contenu à la fin est passé trop rapidement.

On a eu un historique des archiectures web :

  1. Le projet Xanadu : un web avant l'heure (1970) qui est sortie à la fin des années 2000 et qui s'est avéré être juste mauvais.
  2. L'époque des pages statiques (geocities, mygale..).
  3. Les serveur simple (cgi).
  4. Les applications lourdes sur navigateurs (applet, flash, active-x).
  5. Les serveurds complexes (jsp, jsf, php, ror, asp.net, tous les framework mvc web).
  6. L'apparition des apis (http, soap) qui coincide avec l'arrivé du mobile

Une définition de architecture est la suivante : ensemble des réponse que les développeurs vont poser lors du développement.

Attention aux hypothèses fausses sur lesquels se repose de nombreuses architectures d'entreprise (cf illustration).

Une architecture web moderne est maintenant une plateforme orienté développement sur laquel on a des objets métiers et un jeu de services à documenter propre au métier adressé.

Cette architecture doit pouvoir s'adapter au mobile et au web dès le premier jour

Sur les choix technologiques, c'est à vous de travailler en fonction du besoin (http, jms, hadoop, etc...)


Les fausses opinions sur lesquelles se base beaucoup trop d'architectures

ING / Transformation d'une DSI

La journée s'est terminé par une keynote du CIO/DSI de chez ING direct. Il a expliqué comment il a transformé une DSI moribonde en une DSI qui tire le métiers vers de nouvelles pratiques avec leur client. Agilité, automatisation, dev ops et maintenant cloud privé ont participé à cette conduite du changement. Le mec va même jusqu'à présenter une slide d'architecture avec les technos cool du moment pour dire qu'il recrute les meilleurs ingénieurs possible. La performance est d'autant intéressante, qu'il est aveugle (on me l'a dit après) et que c'est le speakers qui a subit le plus de problèmes techniques (sono, vidéo). Une chose encore inimaginable en france ([troll]quoique il était plus visionnaire que de nombreux DSI français...[/troll]).

Point notable et qu'on retrouvera dans plusieurs présentations, c'est la nouvelle séparation entre exploitation et développement. Il est basé sur modèle PaaS. L'exploitation est responsable de l'infrastructure, des OS et des serveurs d'app et de leur monitoring. De l'autre coté, les développeurs sont responsables du contenu(des applications), de son déploiement et de son monitoring.


Ron Van Kemenade, le DSI d'ING

Soirées et autours de Devoxx

Devoxx est aussi un lieu de rencontre des différentes communautés : par pays, langue, technologies, associations. On y rencontre donc pas mal de personne qu'on suit sur twitter ("attends c'est lui @romaintaz ...").

L'autre particularité, c'est que dans la génération des 30-40 ans il y a beaucoups de profils aux trajectoires alternatives (c'est à dire pas les 5 ans d'université et ou prepa/ecole ingé). Et la motivation et le travail a fait qu'ils sont maintenant dans les leaders technique d'une communauté.


Le repère des frenchies francophones au Kelly's
Pas de commentaires

Le retour du Normandy Agile User Group

12/10/2014
agile scrum kanban cantinenwx

En septembre dernier après 10 mois d'absence le NAUG est de retour. Alexandre Ronsaut a souhaité pousser en avant le sujet pour la communauté web. Avec Nicolas Saillard de Coaxys, on s'est proposé pour faire un tour d'horizon des 2 grandes approches : scrum et kanban.

Pour kanban, j'ai pris une approche différente, je suis parti d'anti-patterns vécus de mise en place de l'agilité pour présenter une approche plus douce dans sa mise en place. Je n'ai donné le nom qu'à la fin.

Si ma première partie peut être assez négative sur scrum. C'est parce que, récemment, il y a eu beaucoup d'approches top-down avec une application des règles en aveugle. Et à chaque fois en oubliant deux choses :

  • La boucle de retour (vous savez les actions à la fin de la rétrospective). Cette boucle de retour ayant le pouvoir de modifier les règles "by the book" mises en place avant.
  • L'aspect humain/motivation. Avec une mauvaise gestion du changement, où on applique les règles en se disant "j'ai suivi le livre, ca va marcher, c'est sûr" alors qu'il faudrait juste observer l'open space devant soit.

Pour ma 2ème présentation, je dois avouer que la fatigue commençait à se sentir et que j'ai été bien moins bon que l'équivalente faite à devoxx france.

Voici l'ensemble des vidéos de la soirée :

Scrum, une des méthodes Agiles / Nicolas Saillard :

Pratique Agiles : anti pattern et mise en œuvre :

Outils pour le manager :

L’Agilité dans le cadre d’une prestation / Nicolas Saillard :

Les slides :

Pas de commentaires