
Fabien Recco
Staff Engineer | Java & Kotlin
Salaire / Taux journalier
Paris, France
Freelance
Expertises
Langues
À propos
Introduction
Staff Engineer with 13+ years expertise in Kotlin/Java backend development and microservices architecture. Led teams at major retailers, implementing IAM solutions and modernizing e-commerce platforms serving millions of users. Specialized in Spring Boot, functional programming, and cloud-native solutions with proven results in digital transformation.
Expérience de travail
Senior Software Engineer / Software Architect
Galeries LafayetteFreelance
sept. 2022 - Présent
4 ans 2 mois
Paris, France
The CIAM maintenance project involves upgrading Keycloak and transitioning to RH-SSO, as well as upgrading Spring Boot and developing/maintaining microservices. ► Technical Environment • Backend: Kotlin, Java 11/17, Spring Boot/Batch, arrow-kt, KotlinPoet, picocli, Hibernate, Maven, Liquibase • Testing: JUnit, Mockito, Mockk, Kluent, AssertJ, WireMock, Testcontainers, ArchUnit • Data: PostgreSQL, Kafka, JMS, Redis • Infrastructure: Docker, Kubernetes, RH-SSO, Nexus, JFrog • Industrialization: Docker, Bitbucket, Jenkins, Sonar • Documentation: Confluence, PlantUML, Swagger
Technical Lead / Architect
ARMIS.TECHFreelance
déc. 2021 - août 2022
9 mois
Paris, France
Reboot culture: implementation of the unified Spring Boot / Kotlin stack and microservices architecture (IAM, GraphQL, RESTful APIs). ► Responsibilities Backend tech lead (SaaS team): - Coaching craft: tech talks, training and coaching of junior profiles, pair-programming, MOB programming, live coding, code reviews... - Technical framing and design - Development Architect: - Architecture: definition of the new architecture, design and technology choices - Infrastructure: refactoring of CI/CD pipelines, release management, containerization - Development: implementation of IAM (Keycloak + custom providers), spring security (servlet and reactive), modular technical base, microservices, GraphQL (Netflix DGS) and Postman. ► Technical Environment • Backend: Kotlin, Java 17, Spring Boot, arrow-kt, Netflix DGS, Hibernate, maven, flyway, docker • Tests: JUnit, mockito, mockk, Kluent, assertJ, wiremock, testcontainers, pact, ArchUnit • Data: PostgreSQL, Pub/Sub, Amazon S3 • Infra: cloud (AWS / GCP), Kubernetes, Datadog, Keycloak, GitHub packages • Industrialization: Docker, GitHub, ClickUp, CircleCI, Keeper, Sonar • Documentation: Slite, Markdown, AsciiDoc, PlantUML, Swagger, Redoc ⟪ Architecture and design ⟫ - microservices - event-driven - hexagonal architecture - functional programming - asynchronous programming (reactive and coroutines) - modular programming - contract-first & schema-first - diagram as code
Galeries Lafayette
mai 2019 - déc. 2021
2 ans 8 mois
Paris, France
Senior Software Craftsman
juin 2019 - déc. 2021
2 ans 7 mois
Paris, France
E-commerce information system overhaul program for Galeries Lafayette as part of their digital transformation. Program headcount: +100 multidisciplinary collaborators. ► Software Craftsmanship Implementation of Kotlin stack and backend testing pyramid (unit, mutation, integration, API), modern practices, and software solutions to achieve ideal software quality: contract-first, consumer-driven contracts, ATDD, hexagonal architecture, functional programming, clean code... Tech talks and workshop facilitation to promote good development practices and evangelize functional programming. Scaffolding: creation of a Yeoman generator for Kotlin microservices adapted to the client's needs. ► Development E-commerce microservices: content management, cart, orders, payment, delivery, users, assets... • Backend: Spring Boot, Kotlin, Arrow, Kluent, MockK, JUnit 5, WireMock, Testcontainers, Karate/Gatling, Cucumber-JVM, Java, Vavr, Lombok, MapStruct, assertJ, Mockito, OpenAPI Generator, kscript, shell, PostgreSQL (JSONB), Avro, RSQL • BFF: GraphQL, TypeScript, Express.js, Jest, nock • Frontend: Vue, TypeScript, Storybook, Bulma, scss, Jest • Middleware: Kafka, Keycloak, Unleash (feature toggle), Contentful (headless CMS), MockServer • Tooling: mvn, npm, jabba, nvm, yarn, git hooks, Yeoman, zsh, Postman, openapi-diff • Industrialization: Bitbucket, Jenkins pipelines, Sonar, GCP (GKE), Nexus, Docker, k8s, Slack APIs • Testing: unit tests, mutation testing, component tests, integration tests, E2E • Communication: mural.co, planitpoker, slack, jira agile • Design: PlantUML, Confluence, OpenAPI 3.0, Zally Backend approaches: hexagonal architecture, microservices, Contract First, multi-tenant, service virtualization. Functional programming development. Frontend approaches: mobile first, atomic design / BEM, omnichannel strategy. Methodology: Scrum / SAFe framework.
Senior Full Stack Developer (Publicis Sapient)
mai 2019 - janv. 2020
9 mois
Paris, France · Hybrid
Full-stack developer on the new software factory: Kotlin/Spring microservices + BFF + SPA (VueJS frontend) deployed on GCP. • Backend: Spring Boot, Kotlin, Arrow, Kluent, MockK, JUnit 5, WireMock, Testcontainers, Karate, Java, Vavr, OpenAPI Generator • BFF: GraphQL, TypeScript, Express.js, Jest, nock • Frontend: Vue, TypeScript, Storybook, Bulma, scss, Jest • Middleware: Keycloak (IAM), Unleash (feature toggle), Contentful (headless CMS) • Tooling: mvn, npm, nvm, yarn, git hooks, Yeoman • Industrialisation: Bitbucket, Jenkins, Sonar, GCP (GKE), Nexus, Docker, k8s • Testing: unit tests, mutation testing, component tests, integration tests, E2E Backend approaches: hexagonal architecture, microservices, Contract First, multi-tenant. Development in functional programming. Frontend approaches: mobile first, atomic design / BEM, omnichannel strategy. Skills: Java, Spring Framework, Kotlin, E-commerce, Scrum.
Technical Leader
Publicis Sapient
sept. 2017 - janv. 2020
2 ans 5 mois
Paris Area, France
Senior Developer and Technical Leader on Digital Business Transformation programs, for big clients in the e-commerce. Technologies: JVM environment [Java 11/17, Kotlin], Spring and functional programming [Vavr, Λrrow]
Technical Leader
Intermarché
sept. 2017 - mai 2019
1 an 9 mois
Paris Area, France
Project: redesign the ecommerce solution of a major retailer. Omnicanal and cross device experience. Technical Leader of the Services team who build RESTful APIs in microservices (spring cloud applications deployed to GCP). • Management: coaching of 4 senior developers, staffing and onboarding • Technical referent: technical calls with internal and external stakeholders • Development: microservices architecture (spring cloud), functional programming (java 8 / vavr) • Quality and risk management: Pull Requests review, technical KPIs • Conception: writing User Stories, technical conception • Documentation: technical documentation of API, UML diagrams • Automation: scaffolding and code generation • Production: writing release note, analysis and bug fixing • Reversibility: formation of the new team, documentation and support ► Technical environment Environment: Java 8, Vavr, Spring Cloud (Netflix OSS - hystrix, zuul, ribbon), Spring Boot 2, lombok, Liquibase, IntelliJ IDEA, Jenkins (pipeline) Middleware: Docker, Consul, Config Server, NGINX (API Gateway), Google Cloud Platform (GCP), Kubernetes (GKE), ELK, PostgreSQL Tools: Git (Bitbucket), Maven, Yeoman, PlantUML Security: Keycloak (OIDC - JWT) Monitoring: Dynatrace Patterns: Blue/Green Deployment, Canary Release, Feature Flipping, Bounded Contexts, Kingdom / Emissary, CQRS - Event Sourcing
Senior Software Engineer
Karavel - Promovacances
juil. 2014 - août 2017
3 ans 2 mois
Paris Area, France
Back-end developer at Karavel-Promovacances, the 1st French company in e-travel with an audience of more than 7 millions unique visitors by month. ► Job • Release Management • JEE stateless development on a SOA architecture (CXF, camel, memcached) • JEE development on isomorphic applications by components (maven, handlebars, backbone, Rhino) • Search engine (sphinx and elasticsearch) • Continuous integration: Jenkins, Deployit • Production monitoring (AppDynamics, Splunk) ► Technical environment • Programming: Java EE, Spring MVC, Maven, Tomcat, Jetty, Elasticsearch, CXF, Apache Camel, MySQL, SVN, FreeMarker, Handlebars, Jackrabbit, JavaScript, Backbone, Brunch, nom, Node.js • Industrialization: Jenkins, Nexus, Deployit, AppDynamics, JIRA, Splunk, Confluence • Softwares: Eclipse, SoapUI, Toad, MySQL Workbench, Cygwin, ConEmu, Slack Agile software development environment.
Rakuten France
mars 2011 - juil. 2014
3 ans 5 mois
Paris Area, France
Software Engineer
sept. 2011 - juil. 2014
2 ans 11 mois
Paris Area, France
Developer at Rakuten France, a marketplace with more than 10 millions unique visitors by month in France and the European local entity of the Japanese Rakuten group. I worked in the "Buyers" feature team (5-7 persons). Ranked 2nd amongst French e-shopping sites. ► Work • Technical referent of the area payment (3D Secure, authorization/capture batchs, SEPA slips) • Payment Service Provider integration : SIPS, 1euro.com, Limonetik, SlimPay, Buyster • JEE stateless development on a n-tier monolithic architecture • Monitoring constraints (A/B testing) • Tests and validation (JUnit, EasyMock, PowerMock) • Connection, security and fraud (scoring system) • Web Services • buyers/sellers relationships, account management and tools for after-sales service • Versions delivery to the QA Team (Quality Assurance) • Training trainees, support to developers • Analysis of the existing system, technical designs and documentations ► Functional scope • Cart • Payment • shipment, shipping • Purchase funnel and Conversion funnel (checkout, vouchers, guarantees) • Buyers/sellers relationships • Connection, account management and security • Fraud ► Technical environment • Programming: Java EE, JUnit, EasyMock, Hibernate, Spring (Core - Security), EJB3, EJB2, UML, Maven, Bazaar, JRebel, JBoss, Oracle, JavaScript, Velocity, InfoGlue • Industrialization: Jenkins, Nexus, Sonar, JIRA • Softwares: Eclipse, TOra Agile software development environment (Scrum, Kanban)
Developer
mars 2011 - août 2011
6 mois
Paris, France
Projet de fin d'études : optimisation du passage en caisse. A/B Tests, enrôlement des cartes bancaires, réduction du nombre d'étapes, 1-Click payment... ► Environnement technique • Programmation : Java EE, JUnit, EasyMock, Hibernate, Spring (Core - Security), EJB, UML, Maven, Bazaar, JRebel, JBoss, Oracle, JavaScript, Velocity, InfoGlue • Industrialisation : Jenkins, Nexus, Sonar, JIRA • Outils : Eclipse, TOra Méthodologie agile (Scrum, Kanban)
Web Developer
Wonderbox
juil. 2010 - oct. 2010
4 mois
Région de Paris, France
Réalisation d'un outil de saisie et d'administration des disponibilités des partenaires (hôtels, restaurants...) PHP 5, Zend Framework, Doctrine, jQuery, CSS
Développeur PHP
Tigersun Media Group
juil. 2009 - oct. 2009
4 mois
91400 Orsay, France
Missions réalisées : - Refonte du système de e-tickets pour l'intégrer dans la stack technique de Centerblog (3e plateforme de blogs en terme d'audience [2009]) - Outil de Q&A avec système de votes - Développement d'une FAQ paramétrable Stack technique : PHP, CodeIgniter, jQuery, CSS, JavaScript, Subversion
Formation
ENSIIE
Dip. Ing. Fr, Master's degree in Engineering (M.Sc.Eng.), EUR-ACE label
2008 - 2011
4 ans
Université Paris-Saclay
DEUG PMCP
2006 - 2008
3 ans