[{"data":1,"prerenderedAt":234},["ShallowReactive",2],{"site-en":3},{"id":4,"contact":5,"education":9,"experience":18,"extension":127,"highlights":128,"intro":138,"languages":139,"location":149,"meta":150,"name":151,"projects":152,"projectsNote":174,"role":175,"seo":176,"skills":179,"stem":211,"strengths":212,"tagline":232,"__hash__":233},"site\u002Fen\u002Fsite.yml",{"email":6,"linkedin":7,"github":8},"adrien.deprez.fr@gmail.com","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fadrien-deprez-fr","https:\u002F\u002Fgithub.com\u002FAdrienITTS",[10,14],{"title":11,"school":12,"period":13},"Master's degree in computer engineering","IG2I, Centrale Lille","2012 – 2017",{"title":15,"school":16,"period":17},"French scientific baccalaureate","Lycée Saint-Paul","2012",[19,44,92,117],{"company":20,"title":21,"context":22,"period":23,"summary":24,"points":25,"stack":31},"ADEO","Senior full stack engineer","Freelance · Customer Project team · Lille","Jan 2024 – present","I'm the team's technical lead: I drive its topics from design to production and set its quality standards.",[26,27,28,29,30],"Qualifier Studio: a monorepo (one NestJS API, three Vue.js SPAs) the business uses to build and run the customer qualification questionnaires in Leroy Merlin's online journeys. I did the data model, multi-strategy authentication and containerised deployment.","Appointment orchestration API: it connects the appointment-booking SaaS to ADEO's systems, with GDPR compliance, notifications and a data pipeline.","Customer Project repository: the API that is the source of truth for the customer project lifecycle (qualifications, estimates, appointments) across the ecosystem.","Datadog dashboards and BigQuery usage analysis that feed product decisions.","Set up CI\u002FCD pipelines, automated tests and linters for the team.",[32,33,34,35,36,37,38,39,40,41,42,43],"Node.js","NestJS","Vue.js","TypeScript","PostgreSQL","Prisma","Docker","Terraform","Kafka","GCP","BigQuery","Datadog",{"company":45,"title":46,"context":47,"period":48,"missions":49},"Dewizz","Full stack engineer (consultant)","Client engagements and internal projects · Lille","Feb 2019 – Dec 2023",[50,61,71,83],{"title":51,"period":52,"summary":53,"points":54,"stack":56},"Affilizz · affiliate marketing SaaS","Jun 2022 – Dec 2023","Affilizz helps media outlets and content creators run their affiliate business: access to brand programmes, affiliate content, revenue tracking. I joined the product team as a full stack engineer.",[55],"Work across the whole chain (front end, back end, ops, CI\u002FCD), in Angular \u002F TypeScript and Java \u002F Spring.",[57,35,58,59,60],"Angular","Java","Spring","CI\u002FCD",{"title":62,"period":63,"summary":64,"points":65,"stack":68},"Norauto · BWC team","Jul 2021 – Jun 2022","I came in to reinforce the team, took the technical lead on the back end and helped the team adopt Java good practices, event-driven design and asynchronous processing.",[66,67],"Designed and built the level-2 API, which aggregates product data from several sources.","Estimation, Docker \u002F Kubernetes packaging and CI\u002FCD pipelines.",[58,69,38,70,60],"Spring Boot","Kubernetes",{"title":72,"period":73,"summary":74,"points":75,"stack":79},"ADEO · Leroy Merlin Marketplace, Tempo Composer team","May 2019 – Jul 2021","In the team rebuilding the ordering flow, I laid the technical foundations of the new checkout.",[76,77,78],"Designed the new event-driven, asynchronous checkout: 1P products, the 3P marketplace and services, online and in store, for five countries (France, Spain, Portugal, Italy, Poland).","Spring \u002F Kafka reference architecture and testing strategy.","Prometheus and Datadog metrics, GitHub Actions pipelines, deployment on GKE.",[58,59,40,80,43,81,82],"Prometheus","GitHub Actions","GKE",{"title":84,"period":85,"summary":86,"points":87,"stack":90},"Internal project · gamerprices.fr","","A video game price comparison site, an internal Dewizz project I built from front end to deployment.",[88,89],"Angular front end, Java \u002F Spring back end, CI\u002FCD on GitHub Actions.","Automated printing of invoices and documents with Puppeteer.",[57,58,59,91,81],"Puppeteer",{"company":93,"title":94,"context":95,"period":96,"missions":97},"CGI","Junior full stack engineer","Lille","Feb 2017 – Feb 2019",[98,109],{"title":99,"period":100,"summary":101,"points":102,"stack":106},"Leroy Merlin · Purchase support tools","Sep 2017 – May 2019","Technical owner of the RUN, then front-end lead on the BUILD once the RUN was stable.",[103,104,105],"RUN: stability, fixes, releases, audit and refactoring of the existing code.","BUILD: designed new applications, including Verrière, and helped the team build its skills.","Jenkins and GitLab CI\u002FCD pipelines.",[58,57,32,107,108,38],"Jenkins","GitLab",{"title":110,"period":111,"points":112,"stack":114},"CGI ShowCase","Feb – Jul 2017",[113],"My first CGI assignment: web and desktop applications, web services and a NoSQL database.",[34,115,57,32,116],"Electron","NoSQL",{"company":118,"title":119,"context":120,"period":121,"summary":122,"points":123},"GETEC","IT manager","Internship, then fixed-term contract","2014 – 2015","My first responsibilities: running the company's IT tools and managing a small team.",[124,125,126],"Ran the quoting and task management applications.","Rolled out the Divalto ERP.","Managed a team of three.","yml",[129,132,135],{"value":130,"label":131},"9 years","of full stack work, from front end to operations",{"value":133,"label":134},"Business ↔ Tech","the link between the business and the developers, from scoping to delivery",{"value":136,"label":137},"Pragmatic craft","tests, CI\u002FCD and code review, sized to what has to ship","I've been building software for 9 years, mostly for retail (Leroy Merlin, ADEO, Norauto) and SaaS. I take a product all the way: I work out the need with the business, design the architecture, write the front end and the back end, then look after the release and the monitoring. I'm now looking for a Lead Developer role: designing systems, supporting a team and keeping the quality of its work high.",[140,143,146],{"name":141,"level":142},"French","native",{"name":144,"level":145},"English","professional (4 months in Australia)",{"name":147,"level":148},"German","basic","Lille, France",{},"Adrien Deprez",[153,165],{"name":154,"text":155,"stack":156,"links":161},"40k Team Pairing","A web app for team Warhammer 40K tournaments. It works out pairings, walks through the missions of a round and tallies the score under the official rules, with reference pages for factions and deployments.",[157,35,158,159,160],"Vue 3","Vite","Vitest","Playwright",[162],{"label":163,"url":164},"Source code","https:\u002F\u002Fgithub.com\u002FAdrienITTS\u002F40K-team-pairing",{"name":166,"text":167,"stack":168,"links":173},"Self-hosted server","A VPS I run on my own: Docker services behind a Caddy reverse proxy, encrypted backups, monitoring, a VPN, and continuous deployment from GitHub Actions. I write up how it's built and run. This site is hosted on it.",[38,169,81,170,171,172],"Caddy","Restic","Uptime Kuma","VPN",[],"This is where I learn and try out the tools I'm curious about.","Lead Developer · Senior full stack engineer",{"title":177,"description":178},"Adrien Deprez · Full stack Lead Developer in Lille","Senior full stack engineer in Lille, France (TypeScript, NestJS, Vue, Java, Spring, Kafka, GCP). 9 years of experience, resume, skills and side projects.",[180,184,188,192,195,199,202],{"group":181,"items":182},"Languages",[35,183,58],"JavaScript",{"group":185,"items":186},"Back end",[32,33,69,187,40],"REST APIs",{"group":189,"items":190},"Front end",[34,191,57],"Nuxt",{"group":193,"items":194},"Data",[36,37,42,116],{"group":196,"items":197},"Cloud and ops",[41,38,198,39,81,107],"Kubernetes (GKE)",{"group":200,"items":201},"Observability",[43,80],{"group":203,"items":204},"Practices",[205,206,207,208,209,60,210],"Software craftsmanship","Clean Code","Pragmatic Programmer","Architecture","Automated testing","Agile","en\u002Fsite",[213,223,226,229],{"title":214,"text":215,"steps":216},"Solving business problems","To me, software is first a tool for the business. I like to follow a problem from start to finish: talk it through with users, gather the need, design the solution, then build it and keep it running in production.",[217,218,208,219,220,221,222],"Talks and needs","Design","Back and front end","Ops and CI\u002FCD","Industrialisation","Monitoring",{"title":224,"text":225},"Craft and pragmatism","I care about software craftsmanship, clean code and the Pragmatic Programmer mindset. I try to do as little as possible, as cleanly as possible, for the most result. I apply these principles case by case, not as dogma.",{"title":227,"text":228},"Growing the team","I share what I know: documentation, pair programming, kind code reviews, careful onboarding. The goal is a team that ships well even when I'm not around.",{"title":230,"text":231},"Deciding on facts","When facing a technical choice, I compare a few options against explicit criteria: need, maintenance cost, reversibility. If we're still unsure, a short POC settles it, and the decision goes into an ADR.","9 years of full stack work in retail and SaaS","ASPMJBrMEYAqpKYYnRNnsZrh_kCtfH0jCGjULffVSeU",1794431986353]