Ingénieur logiciel
Ingénieur logiciel passionné et autonome, avec un amour pour l'exploration, un sens aigu du détail et un goût pour la transmission du savoir. J'aime par dessus tout créer des outils ouverts, fiables et extensibles, donnant aux utilisateurs de nouvelles possibilités.
Architecte IT confirmé avec 8 années d'expérience de conception, transformation et migration d'infrastructures de grande échelle, avec une attention particulière aux problématiques transverses, et une approche systémique centrée sur les besoins métier.
Je souhaite combiner mon savoir-faire en analyse et structuration de systèmes complexes, afin de concevoir des solutions logicielles professionnelles proches des utilisateurs finaux.
Savoir-faire clés
- Langages essentiels
- C++20, Python 3, JavaScript ES9.
- Technologies
- Experience approfondie en :
- programmation système, réseau, embarqué, bases de données, web.
- DevOps, intégration continue (CI/CD), conteneurisation (Docker)
- Infrastructure-as-Code (Ansible, Packer)
- Architecture
- Compétent en :
- Communication de concepts complexes aux stakeholders métier.
- Conception d'architectures logicielles évolutives et maintenables.
- Mise en œuvre de modèles d'architecture courants.
- Leadership
- Compétences en :
- Leadership technique et coordination.
- Mentorat et développement des talents.
- Innovation et amélioration continue.
- Craftsmanship
- Autodidacte, sachant synthétiser et transmettre.
- Approche systémique de la résolution de problèmes.
- Goût prononcé pour les solutions élégantes.
- Outils de consulting
- Équipé de:
- Capacités de coaching et formation.
- Solides compétences en présentation et communication.
➥ Mon expérience en infrastructure et opérations IT est un atout pour la conception de logiciels. Voir CV.
Expérience
Reverse-engineering – développement de driver
Projet OpenSource, implémentant le support Linux complet des claviers Logitech RGB, y compris les effets dynamiques en réponse aux actions de l'utilisateur.
- Reverse-engineering du protocole propriétaire via capture des échanges USB.
- Réalisation d'une couche d'abstraction matérielle et d'une interface Python.
- Conception et implémentation d'un service s'appuyant sur une architecture en plugins et un interpréteur LUA afin que les utilisateurs puissent écrire leurs propres animations.
- Optimisation des chemins de code critiques en utilisant la vectorisation SIMD.
- Integration avec l'écosystème bureau Linux pour une bonne expérience utilisateur. Ex. : detection du branchement d'un nouveau périphérique, du verrouillage de la session, …
- WireShark
- VirtualBox
- CMake
- Cython
- C++17
- LuaJIT
- HID protocol
Architecture logicielle
Botcrypto s'apprêtait à mettre en ligne une solution de trading automatisée ciblant les investisseurs particuliers. Mais les tests montraient des problèmes de performance suffisamment importants pour bloquer le lancement.
- Identification des contentions et analyse des causes.
- Redesign de l'architecture sur un modèle en microservices.
- Remplacement des outils maison par les standards du marché.
- Suivi du développement en tant qu'architecture advisor, participant aux décisions d'architecture et aux revues périodiques.
- La solution redesignée présente une multiplication par 1000 de sa capacité de traitement, à matériel équivalent.
- Python 3
- asyncio
- Docker
- PostgreSQL
- redis
- websockets
Refonte et maintenance
Un plugin pour Django, avec une large base d'utilisateurs et un développement à l'arrêt nécessitait un nettoyage et une mise à jour, centrés sur deux problèmes de fond :
- Les incompatibilités avec les nouvelles versions de Django introduisaient une dette technique inmaintenable.
- Circonscription des couplages forts, abstraction des fonctionnalités portées par les dépendances et encapsulation des incompatibilités.
- Après la refonte, le nombre moyen de modules affectés par une release a été divisé par 3.
- Des incohérences dans l'API publique, exposée à une grande quantité d'utilisateurs rendaient les évolutions difficiles.
- Conception d'une nouvelle API avec un accent sur l'utilisabilité et l'orthogonalité.
- Mise en œuvre d'une dépréciation progressive de l'ancienne API sur plusieurs versions.
- La transition n'a causé aucune augmentation du nombre de tickets ouverts.
- Python 3
- Django
- Django-REST-framework
- Travis-CI
Conception et mise en œuvre d'une infrastructure Hyper-V
Afin de rationaliser le cycle de release de ses développements internes et réduire le time-to-market, GroundLink a décidé d'introduire des environnements de développement staging et pré-production dédiés et isolés pour ses équipes en Serbie. Pour réduire les coûts et gagner en agilité, la migration vers une infrastructure virtualisée a été choisie. J'ai réalisé :
- Analyse de l'existant et profiling des applications sur l'infrastructure physique.
- Conception et dimensionnement de l'infrastructure cible, prenant en compte les projections de croissance et les évolutions technologiques.
- Coordination du déploiement et de la migration avec la maison mère à New York.
- Formation des équipes locales au nouvel environement.
- La migration réussie des applications éligibles a réduit les coûts de 80%, tout en fournissant la séparation des environnements attendue.
- Hyper-V
- PowerShell
- iSCSI
Consultant en Architecture IT
Expert infrastructure spécialisé sur les problématiques transverses, la rationalisation and la virtualisation serveur. Un total de 19 missions menées à bien entre 2005 et 2011.
J'ai travaillé essentiellement aux transformations résultant de l'introduction de la virtualisation x86 dans les datacenters, tant sur les aspects techniques qu'organisationnels.
Des missions très diverses, incluant :
- Veille technologique, études d'opportunité, estimations de ROI, schéma directeur des infrastructures, architecture technique du SI, planification et coordination de migrations, audits, diagnostics et recherche de root cause, développement d'outils spécifiques.
- ITIL (Foundation-certified)
- Service-Oriented Infrastructure
➥ Pour le détail de mon expérience en tant qu'architecte IT, veuillez voir mon autre CV.
Éducation
-
Ingénieur diplômé de l'ESIEE Paris, majeure informatique, promotion 2005.
- J'ai représenté mon école à la conférence annuelle de l'Asciel (anciennement Gixel), au cours de laquelle j'ai présenté un rapport sur l'état de l'art de l'électronique dans le domaine de la sécurité du territoire.
- J'ai conçu un contrôleur GPIO à base de FPGA pour une plateforme Motorola 68k embarquée.
- J'ai implémenté un OS embarqué pour 68010, incluant du multitâche préemptif, et des primitives IPC.
- DEA en Informatique Fondamentale et Applications à l'UPEM.
Centres d'intérêt
- Blockchain : fondé une association loi de 1901 pour promouvoir les technologies Blockchain auprès du grand public, et particulièrement l'usage d'actifs numériques comme vecteur d'échange.
- Activité de veille : démarche personnelle autour de l'ingénierie logicielle, des technologies et du monde du business.
- J'ai réduit mes activités personnelles pour prendre le temps de transmettre ma passion pour l'ingénierie à mon fils de 2 ans.