Resume
More than 15 years of experience building scalable systems and leading technical teams.
Download PDF ResumeFeb 2023 - Present
Boulogne-Billancourt / Remote
Feb 2023 - Present
Tech lead ~ Architect (Video Team)
TF1 - Freelance
Boulogne-Billancourt / Remote
- • Complete overhaul of the video encoding process in Go, enhancing the system for both over-the-top (OTT) and Internet Protocol television (IPTV) delivery using Temporal.io.
- • Definition and redesign of a new OTT delivery model, along with the creation of an API to stream video on demand (DASH and HLS formats).
- • Development of a transcoder manager to uniformly handle various transcoding resources (Elemental, Ateme, AWS MediaConvert, FFmpeg, etc.).
- • Revision of continuous integration and continuous deployment (CI/CD) processes for multiple applications, adopting a GitOps approach with Kustomize and ArgoCD.
- • Development of a generic component to listen to events (SQS, Kafka, etc.) and trigger actions (gRPC, HTTP calls, etc.), primarily used for listening to S3 events and triggering Temporal workflows.
- • API development, partner onboarding, and implementation of content ingestion workflows for third-party catalogs (Arte, L'Équipe, Figaro TV, etc.).
- • Dynamic generation of DASH and HLS manifests.
GoTemporal.ioAWS MediaConvertFFmpegVideo CodecsKafkaRedisReactGitOpsBazelArgoCD
2022 - 2023
Montrouge / Remote
2022 - 2023
Tech lead ~ Cloud Architect
Crédit Agricole - Freelance
Montrouge / Remote
- Creation of a technical stack mainly in Go allowing the implementation of a tool for the provision of a service catalog for public cloud offers (AWS, GCP and Azure)
- • Definition of a formalism allowing the declaration of agnostic services with state management
- • Development of the backend in Go (HTTP API / gRPC) with unit and functional tests
- • Development of a Terraform provider with auto-generation of code from the deployed services
- • Deployment of the architecture on Google Cloud Platform
- • Development of a React web UI (TypeScript) for service providers and customer project spaces
GoTerraformKubernetesReactTypeScriptAWSGCPAzure
2018 - 2022
Boulogne-Billancourt / Remote
2018 - 2022
Tech lead ~ Architect (Backend Team)
TF1 - Freelance
Boulogne-Billancourt / Remote
- • Complete overhaul of the MyTF1 backend (serving web, mobile & IPTV)
- • Definition and development of multiple backend micro-services (catalog, user-related, SEO, ...) developed mainly in Go, exposed by a GraphQL server with a communication made with gRPC (Protocol buffers)
- • Definition and development of the media library allowing media management: GraphQL API in Go, front end developed in VueJS and CDN AWS Cloudfront
- • Definition and development of an event-driven architecture for the MyTF1 digital data life workflow with Kafka
- • Work on OpenTelemetry instrumentalisation of tracing code and Kafka messages
- • Implement a cross-provider (Stripe, Apple Store, Google Play) purchase/subscription service for MYTF1 MAX offer
GoGraphQLgRPCMicroservicesDockerKubernetesPrometheusGrafanaRedisKafkaAWSArgoCDStripe
2018 - 2018
Boulogne-Billancourt / Remote
2018 - 2018
Architect - France.tv
France Télévisions - Eleven Labs
Boulogne-Billancourt / Remote
- • Decision making regarding the architecture choices of the France.tv platform on evolutions
- • Framing of technical topics related to IPTV application APIs for Orange and Free
- • Implementation of versioning on the various APIs (under NodeJS and Symfony) in order to be able to deliver more quickly in production
- • Technical workshops with service providers in charge of IPTV front end applications to determine the call flows and data exchanged
- • Evolutions on the France.tv data model following the project to standardize the data sources of the different videos
- • Set up a Kubernetes cluster for each environment and so that feature teams have a dedicated environment
- Cross-cutting topics :
- • Definition of the technical architecture of solutions for the portals of the France Télévisions sites
- • Definition of the component bricks necessary for the evolution of a data model (indexation, workers, ...)
- • Setting up GraphQL as a proxy to different business APIs to optimize loading times on mobile applications
PHPSymfonyElasticsearchRedisRabbitMQDockerKubernetesPrometheusGrafanaGraphQL
2017 - 2018
Paris / Remote
2017 - 2018
Tech lead ~ Architect
ETS Global
Paris / Remote
- • Takeover of the architecture of a dozen Angular 1 Symfony 2/3, PHP 5/7 business applications and micro-services, notably for managing test sessions, contracts, sending emails, etc...
- • Work upstream of projects with client teams and development teams to define project architecture according to needs
- • Provisioning management and deployment of applications with Ansible, from the development environment to production
- • Hosting change to AWS (Amazon Web Services): use of Terraform + Ansible for resource creation and initial provisioning
- • Implementation of monitoring: ELK stack (Elasticsearch, Logstash, Kibana) for application log management and system and business monitoring via Prometheus and Grafana
- • Work on solutions for various problems, such as: Authentication between several applications (SSO), multi-country, multi-languages and multi-time zones management in applications, implementation of a WebSocket brick to manage real-time notifications on applications
PHPSymfonyElasticsearchMongoDBRedisPrometheusDocker
2016 - 2017
Paris
2016 - 2017
Tech lead
CNAMTS - Digital factory
Paris
- • Support (peer programming) and code review of four developers on the implementation of a Symfony application base and its ecosystem (versioning tools, dependency management, unit tests, functional tests, ...)
- • Implementation of project application bases to be consistent with the platform (output of logs in JSON format for indexing in Fluentd, JWT identification of APIs,...)
- • Implementation of a continuous integration under Jenkins in order to launch unit and functional tests each time a developer's code pushes and then trigger a continuous deployment pipeline
- • Work with CNAM architects and POs to choose appropriate solutions to implement on a PaaS OpenShift platform (based on Docker)
- • Implementation of the technical bases of the project (Object Storage Ceph Gateway, Selenium remote server for functional tests,...)
- • Accompanying the Product Owner from the project to the agile rituals (writing user stories, accompanying the writing of functional tests in Gherkin language)
PHPSymfonyElasticsearchPuppetAnsibleDockerOpenShiftJenkins
2012 - 2016
Paris
2012 - 2016
PHP Software Engineer
Ekino
Paris
- • PHP development under the Symfony framework :
- • Development of Renault bank & Nissan finance customer area integrating with SOAP web-services
- • Full overhaul of FFF.fr website (French Football Federation) using Symfony & Sonata
- • Help to develop some features on Digiposte Symfony / Angular 1
- • Use and participating on development of the Sonata bundles suite
- • Use of the following tools: deployment via Capifony, versioning via Git, ...
- • Writing unit tests using PHPUnit on all projects I worked on
PHPSymfonyOpen-SourceRedisMySQLAnsibleDockerVagrantNodeJS
2010 - 2011
Courbevoie
2010 - 2011
PHP Software Engineer
Smartbox
Courbevoie
- • Development of customized modules (price management, sitemap module) under Magento
- • Redesign of MySmartbox customer management boxes (reservation, exchange, order tracking, ...) under Magento
- • Third-party application maintenance on the Smartbox France site, based on Magento
PHPMagentoVarnishMySQLJavascript
2009 - 2010
Paris
2009 - 2010
PHP Software Engineer
Epixelic - Web agency
Paris
- • Development of a job board named Jobs&Joy website using Zend Framework
- • Migration of the Communication-pro product platform to Zend Framework
- • Web development using the PHP Zend Framework (version 1.9)
PHPZend FrameworkMySQLJavascript