Happy new year 2019 !
codeBona annada / Happy new year / Bonne année ! #
Pfiou !!! ça fait un bon bout de temps que je n'ai rien écrit ici: depuis fin 2016, la vie a été mouvementée ;) avec la naissance de mon second fiston (2 garçons à la maison, ça booste! :rocket: ), un changement de boîte (Legrand => Eove) et donc de nouveaux challenges humains et techniques. Je ne vais pas trop rentrer dans les détails mais voici les grandes lignes pour rattraper mon retard sur presque 2 années silencieuses sur ce blog.
Une rencontre #
Au printemps 2017, je ne sais pas ce qui m'a pris mais j'ai osé. J'ai appelé Arpinum à la rescousse. Certainement un peu inquiet face à l'immensité des choses à faire, à l'état du legacy, au changement de stack technique (étant le seul à la connaître un peu), à la culture un peu "bricolo", je me suis décidé. Depuis longtemps déjà je connaissais ces "énergumènes" via quelques talks dans des agiles tours.
Rencontre chez eux à Bordeaux pour parler de notre produit à venir. Dès le début, gros coup de coeur. Excellence technique radicale et forte orientation métier avec du DDD omniprésent. Je profite de ce modeste post pour remercier Michael qui nous a accompagnés pendant près d'un an et pris les rôles simultanés de développeur et de CTO. Bienveillance, compétence, transmission. Michael si tu tombes par hasard sur ces quelques lignes, j'espère avoir la chance de travailler à nouveau avec toi, c'était chouette ;)
Au passage, chers lecteurs, n'hésitez pas à suivre les 3 autres compères: Charles, Jean-Baptiste, aka @BodySplash et Arnaud, aka @Lilobase notamment pour ses talks brillants. J'aime particulièrement "Et si on redémarrait l'agile?" (vidéo ici)
L'écosystème technique #
Nous sommes une toute petite équipe de dev @eove et les besoins sont multiples pour bâtir de toutes pièces des respirateurs artificiels pour personnes ventilo-dépendantes. Face cette variété de besoins, notre équipe a fait le choix d'investir sur une techno qui permet d'appréhender quasiment l'ensemble des sujets: le Javascript avec:
- pour le dev sur tablette et mobile pour l'interface utilisateur: React Native
- pour le dev d'outils desktops: Electron et React
- pour le dev de scripts en CLI: Node.js
- pour le dev d'interface web et backend associé React et Node.js
Le seul développement qui reste en Language C est le firmware du module de ventilation qui tourne sur une petite architecture 16 bits de ST Micro Electronics.
Mon nouvel écosystème de prédilection est donc maintenant le Javascript et je dois avouer que je me régale. La productivité est énorme et la qualité peut être là si on suit le bon chemin: DDD et pratiques d'XP (TDD notamment,....oui je sais je rabâche mais c'est l'âge)
Mes réalisations #
Me concernant, j'ai pas mal bossé sur une application desktop destinée à parler aux différents modules de ventilation via USB. Elle permet aux gars du système de mettre au point la ventilation et de batailler sur les courbes de pression, volume, débit.
Modules utilisés: electronjs, react, react-redux, redux, redux-sagas, rxjs, serialport
Comme d'habitude, bien entendu: test first
J'ai aussi réécrit une application de test de cartes électroniques en CLI utilisée par les hardeux et nos sous-traitants électroniques pour le test de fin de ligne. Un petit soft embarqué (Merci Manu) propose une API via USB et les tests s'appuient sur cette interface pour diagnostiquer le bon câblage des composants.
Modules utilisés: node, inquirer, commander, rxjs, serialport, puppeteer
Enfin, j'ai pris ma part au sein de l'équipe dans le développement de l'application tablette pour notre nouveau produit: un assistant de toux. Beaucoup de React Native (JS) et un peu de natif (Java Android) pour quelques parties d'accès au système.
Modules utilisés: react native, react, react-redux, redux, redux-sagas, rxjs, serialport
Ouf ! Du taf, beaucoup de taf. Mais tout de même extrêment facilité par le choix d'un écosystème technique commun.
La suite ? #
L'apprentissage... toujours et encore ! #
C'est mon quotidien, le quotidien de tout développeur passionné qui ne se résigne pas à son état d'expert beginner (lire "Les phases du programmeur" de Jean-Baptiste).
Donc au programme de cette année (ça risque de changer dans les semaines à venir):
- Approfondir DDD: je vais me tenter une petite formation chez Arolla ou Zenika ?
- Une petite conf pour s'aérer, s'inspirer: dotJS ?
- Et du purement technique:
- typescript parce que "les types c'est super pratique"
- rxjs parce que c'est trop puissant ce truc lĂ
Les softs Ă Ă©crire / maintenir #
Je vais bien entendu continuer sur l'appli React Native pour l'assistant de toux avec de nouvelles fonctionnalités sympas à venir.
Les sujets de ce début d'année seront cependant le développement d'une stack de communication avec des analyseurs de gaz (air, O2, etc...) de chez IMT Medical pour intégration à nos outils de tests et de mise au point. Le tout en open source et première lib en typescript.
Voici les dépôts concernés:
- flow-analyzer-com: lib de communication avec les analyseurs citrex et pf300
- talk-to-analyzer: CLI se basant sur la lib précédente
Vous l'avez compris, une année bien "épaisse" à venir !
- Suivant: Mon petit “guide” sur l’effondrement
- Précédent: Du changement dans l'air