Tech Lead/Senior Software Engineer

Experience

  • 9+ years as lead - assertive, pragmatic, self-directed and loyal collaborator
  • Enthusiast about Continuous Delivery, TDD, resilient software and humble management
  • Proficient with the JS stack - NodeJS, TS, React and recently Rust
July '22 - Present

Senior Software Engineer @Nando's (contract)

  • Insourcing of Deliveroo orders processing
    • In charge of planification, development and delivery of a cost-effective Deliveroo orders fulfilment system to replace a third-party provider solution
    • Migration and scale up to 40k orders/d and 420 restaurants across the UK and Ireland
    • rust, gcp, pubsub, load testing, monitoring policies, shadow deployment, SLAs, kds
  • Development and maintenance of services generating menus and handling restaurant orders
    • Feature development on Menu domain management toolset supporting trials, feature flags and custom pricing strategies
    • Development of a bespoke PIM (Product Information Management) as a replacement tool
    • rust, graphQL, postgres, typescript, nodeJS, nextJS, gcp, terraform, argoCD, jupyter notebooks
Jan '22 - Jun '22
0.5 years

Senior Software Engineer @Snyk

(Snyk provides automated software security checks)
  • Development of cloud-hosting SCM integrations with the Snyk platform
    • Development and maintenance of Snyk integrations with SCMs such as bitbucket, github or gitlab
    • Optimisation of Imports and Dependencies Checks flows (throttling, resilience, scheduling)
    • Support of business customers
    • nodeJS, typescript, docker, argoCD
Jan '20 - Jan '22
2 years

Lead Consultant @ThoughtWorks

  • Tech lead - BP (June 2021 - January 2022)
    • Setup of an innovation framework within BP's innovation Hub
    • Technical lead of a team of software engineers, data scientists and ML engineers
    • Steering and support of technical investigation work (PoC, PoV)
    • azure ml, azure devops, python, knowledge graph, jupyter notebooks, pandas, digital twin
  • Tech lead - Cabinet Office (SC cleared) (May 2020 - June 2021)
    • Tech lead for a team of 6 to 12 software engineers
    • App delivery supporting UK's Security Vetting system
    • Technical direction and implementation of the new system
    • jenkins, aws, cloudformation, dynamoDB, lambda, cognito, service fabric, python, contract testing, typescript, lerna, react, XState
  • SDLC transformation consultant (for 3 months)
    • Digital Transformation for a Scandinavian bank provider (NDA)
    • Left shifting of the existing pipelines
    • Teams adoption support
    • 4-key metrics, bash, jenkins, bats testing
Dec '18 - Jan '20
1⅙ years

Lead Consultant @HMCTS (contract)

  • Software engineering practice changes management
    • Data gathering to provide measurable and tangible support to cross-team collaboration practice changes
    • Support in API Gateway Management setup
    • Development, Support and guidance in the adoption of contract testing
    • Use of Azure cloud infra, especially ACR, AKS and APIM
    • pact, python, jupyter notebooks, plotly, pandas, bash, make, openAPI
  • Senior software engineer - Pipelines optimisation
    • Optimisation of CI pipelines - Jenkins and Azure DevOps
    • Gains of several minutes per build adding up to hours for all pipelines in the org
    • Docker best practices implementation across org - cache layer re-use, security, multi-staging
    • Evangelization around BPs - feedback gathering from the teams, presentations to client's tech leads
    • nodeJS, docker, azure devops, jenkins, AKS, Helm
Dec '17 - Nov '18
1 year

Platform engineer @Deutsche Bank (contract)

  • Senior software engineer
    • Member of a small central team dedicated to serving structuring components to product teams
    • Build and maintain a set of technical tools and libraries for general product development
    • Reorganisation and velocity improvement of pipelines towards CD
    • typescript, react, docker, bash, python, jenkins, groovy (pipelines)
  • Leading the implementation of a design system
    • Automation of the workflow between visual design and UI development across the organisation
    • POC and brownbags about smart contracts and cryptocurrencies - Stellar Lumens
    • GNUmake, nodeJS, sketch, sketch-tool, design tokens, redhat openshift
May '16 - Nov '17
1½ years

Tech Lead @Buildit (digital transformation studio)

  • Tech lead
    • Onboarding of several Software Engineers team for Lloyds Banking Group as part of a ramp up of their capabilities
    • The overall objective was to shape brand new teams so they would be ready to deliver value to the client on day one
    • Discovery of existing practices and tools, and the setup of a new way of working
    • Training of newly onboarded engineers, especially around react, redux, client-side state management and CD
    • Acting as tech lead on several projects across several months to then hand over to the client's tech leads
    • nodeJS, bash, react, redux, TDD
  • Scale up of development environments setup
    • Participated in the implementation of development tools and environment in line with CD capabilities
    • Supported adoption of rancher, docker and declaratives build pipelines - Workshops, community management
    • docker, CD, CI, aws, rancher, jenkins, groovy (pipelines)
  • Technical consultancy
    • Investigate organisation, Lloyds Banking Group mostly
    • Advise, help shaping teams in more empowered, cross-functional and leaner ways of working
    • Recruitment interviews for Buildit and its clients
    • Brown bags and presentations to clients - CI, docker, elm, redux
    • Building of CI and CD deployment pipelines - jenkins, docker, rancher
    • holacracy
Nov '15 - May '16
7 months

Software Engineer @IMGGaming

  • Senior software engineering
    • Part of small IT team (5 people and counting), building sports live-event monitoring tools
    • Development of real-time SPAs
    • Handling of CI and production apps containerization
    • Development of a websockets multiplex service
    • React/redux architecture evangelization
    • nodeJS, react, redux, websockets, webpack, codeship, docker, aws, qwerty 🤷‍♂️
October 2015

Relocating to London... ✈

Oct '13 - Sept '15
3 years

Tech Lead @Viadeo (professional social network)

  • Chapter Lead (frontend & middleend)
    • Community management/mentoring
    • Software ownership: architecture, roadmaps, cross-team synchronisation for ~30 engineers
    • Automation evangelist (Unit and functional tests in particular)
    • nodeJS, expressjs, mocha, zombiejs, selenium, jenkins
  • Heading of nodeJS expert team
    • Setup of a new software architecture based on expressJS to replace java/jsp legacy, able to support a 6M users platform
    • Hiring, roadmaps and followups
    • nodeJS, ramda, expressjs, promises - bluebird, clustering, loads of middleware, ELK stack see more
Jan '10 - Oct '13
3½ years

Head of UI/front-end development @Viadeo

  • Recruitment / Management
    • Seeking, interviews, tests, integration
    • Projects planning, mentoring
    • Built and managed a team of 15 FEDs and designers
  • Development
    • xslt, html, css, js, prototypejs, jQuery, photoshop, illustrator
  • FED architecture management
    • Maintainability, server-side and client-side MVC, automated testing, documentation
    • Build homemade CSS and client-side MVC framework
    • mocha, jasmine, less, icon font, coreJS ~ kind of backbone before backbone see more
Oct '09 - Jan '10
4 months

Front-end team leader @Viadeo

  • Technical management
    • 3-mates UI dev team
  • Integration, UI design
    • Web pages and email mockups, icons
      xslt, jsp, html, css, js, prototyping
Oct '07 - Oct '09
2 years

UI developer @Viadeo

    • cross-browser integration
    • Web Design
    • xslt, css, js, photoshop, illustrator
< Oct. 2007

Luggage Handler @Aéroport de Grenoble

Artillery Soldier @93ème RAM

Education

Past projects excerpts

In this section, I describe some projects I have been working on at Viadeo, a French-based professional social network (i.e. LinkedIn or Xing), as well as Buildit, the company I stayed in the most since I moved to the UK.

Tech surge - Lloyds

(spring 2017 - Winter 2017)
Context
  • Existing Lloyds teams have no ownership of their tools or environments
  • Their CI is centralised and very siloed
  • Lot's of engineers and other teammates are placed by vendors,
  • Poor ownership of product
  • Dev environments are very hostile and locked, testing is very fastidious
  • The work culture and technologies are behind current time and market
  • However some key members of the current management are very aware of these issues and willing to fix them
Role
  • Development environment revamp to reach actual continuous integration
  • Allow more automation
  • Give engineers back control over their tooling
  • Isolate build environments from locked CI ones
  • Promote and bring technologies with existing teams for early adoption (with loads of help and guidance from@tim.webster)
  • Promote cross knowledge sharing across the scope of stakeholders
  • Bring the possibilities to run nearly full stack environment during development
  • Build new CI pipelines as codes using containerised environments
Outcome (sept `17)
  • some projects are starting using the new developed CI stack
  • other teams are knocking to be involved in the process too
  • the ability to build and ship very quickly has been proved
  • dev environments are unlocked giving the choice of scm to teams (e.g. gogs or gitlab, vs gerrit previously)
  • several people of the existing teams can now create and handle their own CI
  • the critical point of no return has been reached were the change is completely owned by the client
Tech stack

linux, jenkins, nginx, docker, rancher,
webpack, nodejs, gulp,
sass, react, redux,
es6, jest, selenium, cucumberjs,

Re-platforming java/jsp to nodeJS

(fall 2013 - spring 2015)
Context
  • tech stack (apache, jsp, java, mysql, maven, svn) was too big, not modularized,
  • web application was not FED-friendly and had performance issues
  • rollouts were very difficult (nearly 1/month)
  • the tech stack and process were far from any CD/devops mindset
  • tools and processes were not compliant with agile teams
  • new CTO convinced top-management on necessity to re-build technical stack from scratch
Role
  • setup a team to implement a new web stack that would be based on a data platform
  • picked up developers to build a team (@cormacflynn, @fabienjacq - a devops FED, @thaume)
  • especially worked on asynchronous data aggregation, bringing Promises-based and resiliency skill to the teams (pre-graphQL era)
  • invested a lot of time evangelising about TDD as well as setup the test framework
  • managed community around new stack, providing support, cross-team sync, weekly reports and pivoting
Outcome (sept `15)
  • nodejs application (named Limbo)
  • serving more than 300 req/s/process
  • continuous delivery (several times a day)
  • CI
    • unit tests (more than 85% coverage today)
    • functional tests
  • current web rendering stack at Viadeo, I'd be very proud to talk about ;)
Tech stack

git, git hooks, nodejs, grunt, brunch.io,
sass, handlebars, react, d3,
Promises, expressJS, LocomotiveJS, bluebird, ramda,
es6, coffee, mocha, chai, selenium, cucumberjs,
linux, jenkins, handlebars, nginx, docker,
nodejs workers monitoring, kibana, graphite, finetuning

Tetra-js - Home-backed JS library

(spring 2012 - spring 2014)
Context
  • building more and more client-side applications
  • front-end developers not yet all JS proficient (~15 team people)
  • product made in a fire-and-forget mode so UIs had to be build for a long time
  • not so much client-side MVC frameworks, and (backbone was still young)
  • existing scripts tight-coupled with unmaintained prototype lib
Role
  • hired a dedicated dev to build a framework (@olivierhory)
  • build our own JS framework named tetra-js, using devs feed-back for each steps
  • open-sourced it to put focus on quality (and it worked)
  • trained and evangelized dev and newcomers
  • also have been given the chance to hire a dedicated dev to introduce testing in our front-end apps (@cormacflynn - the most talented dev I've ever known)
Outcome (sept `15)
  • this tool gave a lot of consistence across projects code for more than two years
  • front-end devs took lots of experience using TDD - seems obvious now, but when I started, it was completely out of scope
  • even though very useful, decision to depreacate it was made when we switched to a new codebase
    • lack of resources to maintain such a framework
    • not enough hire-friendly (backbone or angular, were better skills to write on a résumé)
    • the rise of new frameworks like react and angular proved to be more suited
Tech stack

git, grunt, javascript, jasmine, mocha

Tetra-ui - UI style library

(since mid 2012)
Context
  • large website (lots of templates and features),
  • lot's of new design elements on each project
  • very inconsistent uyser experience
  • huge css file, unmaintainable yet still growing (imagine how perf was impacted)
  • several brands (till 4) to support on same pages contributing to this mess
Role
  • convinced top-level management about the importance of UI maintainability
  • finally hired a dedicated dev to think and develop the solution (@rich186 and @blustemy)
  • build a bootstrap of our own
  • worked with all teams to migrate existing elements on new framework with the help of@bbelhadi, @lin-chunchu and @thomasvergnaud
  • evangelized all devs using internal marketing (logo, presentations, trainings, documentation, rewards)
  • evangelized designers so they adopt this tool, more difficult part I must admit
  • introduced sass and build steps to handle branding by simply changing some root properties as well as ongoing changes
Outcome (sept `15)
  • still in use
  • has shown recently (in 2015, at the time of writing) how a rebranding of our UIs has been easily executed
Tech stack

git, less, grunt