Camille Hodoul

Senior / Lead Full Stack Developer, JavaScript & PHP | Camille Hodoul

Senior / Lead Full Stack Developer, JavaScript & PHP

August 29, 2022

Français - camilleh@hey.com

Languages & Technologies

Languages: PHP, JavaScript, SQL, Bash
Frameworks: Symfony, React
Databases: MySQL, Elasticsearch
Testing: PHPUnit, Jest, Cypress
Other: Docker, Linux, Type systems, RStudio, Plesk

Work experiences

Lead full stack developer, 1egal2, Remote 2016 - current

  • Lead the complete rewrite of Arkothèque CMS to successfull completion with a team of 1 to 4 developers over the course of the project, 1 webdesigner and 1 domain expert. A monolith using PHP 8, Symfony, React.js, MySQL and ElasticSearch. Used on websites such as Archives de l’Allier or Archives du cher. Our infrastructure handles 10,000s of search requests and 100,000s of HD image processing requests per day, across ~30 websites using Arkothèque.
  • As lead, I designed the architecture of the core systems, supported developer tooling and documentation
  • As an individual contributor, I own 60% of the surviving code
  • Changed deployment procedures from manual steps performed only by technical people to a completely automated process using bash scripts and CI tools, triggered from a UI by anyone on the team, achieving up to 15 deployments per day on multiple websites with near-zero deployment incidents in the last year
  • Changed the deployment requirements from LAMP on dedicated servers to Plesk on VPS, docker-compose or self-hosting by clients
  • Set up continuous integration and tests parallelization on Bitbucket Pipelines
  • Introduced code review, pair programming, blameless postmortems and usage of an internal knowledge base to the team
  • Instituted unit, integration and end-to-end testing using PHPUnit, Jest and Cypress
  • Set up monitoring and observability using ELK
  • Initiated Kanban for project management and software work, making work visible
  • Monitored and optimized performance, dividing average critical path load time by 2 while queries multiplied by 10 in the last year
  • Lead the GDPR compliance effort
  • Created internal tooling to help the team monitor, operate and perform ETL into the application, using bash scripts and other CLI tools
  • Created Cuisine EAD, an open-source tool for XML/EAD processing, at first as a side project but worked on it professionally as it is used by unknown users but also clients and colleagues. This is a static Progressive Web App using React.js and Web Workers, CI with Github Workflows and continuously deployed on Netlify.
  • Aggregated and analyzed metrics from different tools, from code repositories to time trackers and kanban boards, using R and RStudio
  • Ran meetings with clients and third parties about integrations with other systems or project kick-offs
  • Ran interviews with users for feature design or re-design
  • Front-end development and dataviz using React, Mapbox and paper.js (for which I wrote an animation library) for Oscars Santé
  • System design and individual contributions on Arkothèque Gestion

Font-end developer, 1egal2, Marseille 2012 - 2016

  • Maintained and developed new features on older versions of Arkothèque CMS, then a PHP 4, Flash, JavaScript & MySQL application. This software is still used by thousands of visitors daily on a few websites, such as Mémoire des Hommes. Deployed on dedicated servers.
  • Rewrote core features from Flash to HTML5 + JavaScript & jQuery, such as the image viewer
  • Worked on the front-end of Archiphone, a multi-media project using ffmpeg, JavaScript, PHP & MySQL
  • Introduced the team of 4 (1 graphic designer, 1 project manager and 1 other developer) to version control and git

Junior developer, Global Product Service, Trets 2011 - 2012

  • Integrated APIs with marketplace webservices (pixmania, amazon…) and internal user interfaces using CakePHP, jQuery, MySQL, Rest & SOAP

Education

BTS Informatique de Gestion, Lycée Dominique Villars, Gap 2009 - 2011

Application Developer specialization. Highest ranking in class, 2nd highest in the “académie”

Bac Sciences Economiques et Sociales (mathematics), Lycée Dominique Villars, Gap 2009

Notable side projects


Camille Hodoul

I'm a JavaScript and PHP developer living in Grenoble, France.
Twitter, Github, Flickr, resume, blog in french