Xavier Touron
DevOps & JAVA Development Engineer
🇫🇷 🇬🇧
Graduate engineer with over 10 years’ experience in a wide range of skills :
• DevOps : DevOps: CI/CD pipeline design using Jenkins, Concourse or Gitlab CI. Infra-as-code deployments on Kubernetes, task automation via Ansible.
• Development : Development of backend applications in Java, with an affinity for APIs and microservices.
• Infra/Ops : Deployment and administration of Elasticsearch, Kafka and Fluentbit stacks on Kubernetes (via Helm)
Curious by nature, I have an insatiable appetite for learning new technologies.
+33 7 66 65 32 68
contact@xtodev.fr
Lives in Montpellier, FR
Married - 2 children
Age 35
French nationality
Languages :
French - Mother tongue
English - Advanced (C1)
German - Beginner (A2)
PROFESSIONAL EXPERIENCE
Since 02/2022
- DEVOPS ENGINEER (Company: Conserto)
-
France-Travail (Pôle-Emploi) - Montpellier, France
Working as part of the Ops team responsible for centralized logging and big data collection
• Reworking (with Helm and using Infra-as-Code) of the automated deployments for each element of the whole centralized logging chain
• Administration of Kafka and Elasticsearch clusters
- Parameter refinement (sizing, retention times, upgrades)
- Supervision, incident resolution, anomaly analysis (e.g. wrong format) using Kibana
• Administration of Fluent (Kubernetes) and Nifi (on 3000+ Virtual Machines) collection agents
- Development of Ansible roles / AWX to automate the management of Nifi agents
- GitOps management of Fluent collection agents (deployment to ~30 Kubernetes clusters)
• Setting up monitoring and alerting to guarantee service availability
- Also watching vulnerabilities for docker images in use
• Bigdata : Set up data collection from CSV files or APIs to the data lake
Technical and functional environment
IaC deployment and administration of the centralized logging chain :
Fluentbit & Apache Nifi => Apache Kafka => Logstash (Grok/RegEx) => Elasticsearch/Kibana
Containers : Docker - Kubernetes - Helm
Monitoring : Prometheus (AlertManager) - Grafana - OpenTelemetry
BigData : Apache Nifi, Apache Hive/Iceberg, HDFS, HiveQL
DevOps : Concourse, Rancher Fleet (gitOps), Ansible, Artifactory, Trivy/Snyk
Linux environment (Aix, SLES, Debian)
Work methodology : Product Operating Model / Agile (Scrum) - Team of 4 to 5 people - Non-functional requirements
08/2020 - 01/2022
- JAVA DEVELOPMENT ENGINEER (Company: Conserto)
-
SADA Assurances - Nîmes, France
• Development of a microservice REST API (Java17, Docker) enabling the generation of SADA documents (certificates, contracts, quotes, etc.) using templates in Word/Jrxml format and Aspose/Jasper libraries for PDF generation. Authentication and role management via Auth0
• Development of a microservice REST API for the GDPR (Kotlin project, clean architecture) enabling all an individual’s data to be exported (along with its retention period)
• Fixing numerous security flaws (external audit) on old Java8 projects: XSS flaws, rights management, password storage, sessions, etc.
• Maintenance : Upgrading the Springboot and MongoDB framework on several projects, adding traceability
Technical and functional environment
Development : Java/Kotlin, Springboot, Jasper/Aspose, Clean Architecture, MongoDB, RabbitMQ, OpenAPI, IntellIJ, DBeaver(SQL requests), Postman, Gradle/Maven, Git, Linux Gentoo
DevOps : Docker, Gitlab CI, Ansible, Nexus (Registry)
Work methodology : Agile (Scrum, 3-week sprints) - Team of 4 to 6 people
02/2020 - 07/2020
- DEVOPS ENGINEER (Company: Conserto)
-
CompuGroup Medical - Montpellier, France
• Setup and configuration of a CI/CD with Jenkins and Sonarqube, dedicated to around a hundred projects :
• Creation of pipeline models for :
- C#: project build, execution of NUnit3 unit tests and TestCoverages with OpenCover, quality analysis with SonarQube, continuous delivery
- NuGet (.NET package): Building the Visual Studio solution, running NUnit3 unit tests and TestsCoverages with OpenCover, analysing quality metrics, deploying to Artifactory
- Innosetup packaging (generation of self-extracting archives) : Build and deliver a setup.exe from existing binaries.
- Docker (generation of images via Dockerfile and push to the Artifactory registry)
Technical and functional environment
Scripting : Groovy, Bash Shell, Powershell, Cake (C#)
DevOps : Jenkins, SonarQube, Gitlab, Docker, Artifactory, Teamcity
Tools : Visual Studio, NUnit, OpenCover, NuGet, Git, Gitversion, FinalBuilder, Innosetup, XMind (pipeline mindmaps)
Team of 2-3 people
02/2019 - 08/2019
- PHP DEVELOPMENT ENGINEER (Company: ISI.nc)
-
Enercal (main energy supplier in NC) - Nouméa, New Caledonia
Context: Development of the mobile application backend for Enercal, New Caledonia’s electricity system manager. I’ve been working remotely from New Zealand for the last 3 months, on a part-time basis.
• Development of the REST API in PHP, based on a Drupal 7 CMS
• Writing the API interface contract (documentation reused internally by the client)
• Load testing and unit testing with JMeter.
Technical and functional environment
Development : PHP/MySQL, Postman, Jmeter, Docker, Gradle, Git.
Work methodology : Agile (Scrum, 2-week sprints) - Team of 2 to 4 people
01/2017 - 02/2019
- JAVA DEVELOPMENT ENGINEER (Company: ISI.nc)
-
Société Le Nickel (main industrial company in NC) - Nouméa, New Caledonia
Team development on several Java applications for SLN, based on the same Micro-services architecture, continuous integration and automated deployment of docker images via Gitlab CI / Jenkins to Kubernetes infrastructure.
• Project to track SLN’s fleet and vehicle timetables in real time via interconnection of the REST APIs of Hexagon (Australian mine-tracking software) and the New Caledonian local company providing the GPS coordinates of the vehicles
• Project to interconnect Maximo (asset management software by IBM) with Reflex (a logistics management software by Hardis).
To sum up: Maximo (Oracle2Kafka) => Kafka (buffering/scaling) => Reflex (SOAP calls)
• Application for accurate, detailed monitoring of SLN’s explosives stock via a dedicated, streamlined interface based on Maximo data
• Online application for declaring potential conflicts of interest within SLN
• Project to simplify the entry of work orders in Maximo by directly modifying its database
Technical and functional environment
Development : Java8, Kafka Streams, Elasticsearch, Guice/Springboot, Gradle, Git.
DevOps : Gitlab CI, Jenkins, Sonarqube (test coverage rate > 70%), Docker, Kubernetes
Work methodology : Agile (Scrum, 2-week sprints) - Team of 2 to 5 people
07/2015 - 12/2016
- C# DEVELOPMENT ENGINEER (Company: SopraSteria)
-
Ministry of Defence (Service ministériel des SI de fonctionnement) - Tours, France
Context: The SMSIF-RH is the organisation responsible for the third-party application maintenance of the French Ministry of Defence’s human resources information systems. My assignment was on the Louvois project, which manages the wages of military personnel, from the calculation of allowances to the payment for each member of the armed forces.
• Development (or upgrade) of allowances in the calculator (C# console application)
• Maintenance, upgrades and improvements to code quality (SonarQube)
Technical and functional environment
Development : C#, Visual Studio 2012, Oracle 11G, Microsoft TFS (Versionning), SonarQube
Work methodology : V cycle on a short timescale (3/4 weeks) - Team of 10 to 15 people
02/2014 - 07/2015
- TECHNICAL INTEGRATION ENGINEER (Company: SopraSteria)
-
Ministry of Defence (Service ministériel des SI de fonctionnement) - Tours, France
Technical integration of the various modules of the Louvois application (each with its own programming language: Java, C#, Oracle… or being third-party software)
• Development and maintenance of the technical integration and continuous integration of the Louvois application
• Bash shell scripting for continuous integration builds (manual builds)
• Analysis and feedback of error information during test cycles
Technical and functional environment
Development : Bash shell, Linux (Debian/CentOS), Microsoft TFS (Versionning), Oracle 11G
Work methodology : V cycle on a short timescale (3/4 weeks) - Team of 2 to 3 people
01/2013 - 07/2013
- Apprenticeship: Final year project - at school
-
Polytechnic School of the University of Tours, France
Development of a supervision system for a photovoltaic power plant (3 panels, i.e. 525Wp), enabling continuous display of energy production data, as well as data from a weather station (with the aim of measuring the impact on our production).
Equipment : Enecsys microinverters, Davis weather station, solar trackers
Development : Java, JS/Ajax, CSS, PHP/MySQL (intranet site based on EmonCMS)
09/2010 - 09/2013
- Apprenticeship: Final year project - in company
-
Hexacomb SA (Cardboard industry) - Amboise, France
• Development of a real-time supervision system for the status of production machines (to monitor production rates on each line), with a history of previous days, months and years
- Development of an on-board system (software and electronics with sensors) to retrieve information from the machines and send it via WiFi to the web server.
- Creation of an intranet site enabling real-time interactive display of the data obtained.
Hardware: Raspberry Pi, current/distance sensors
Development : Java, JS/Ajax, CSS, PHP/MySQL
Education and courses
Since 2020
- Specialized training
- Ansible (2d) via Spherius.fr • Professional Scrum Master I (PSM I) • Basics of AWS (3d) via Conserto
Cloud Azure (5d) : AZ-900 (Basics) | AZ-204 (Developer) | AZ-400 (DevOps) via FreeCodeCamp
2010-2013
- Industrial Computing Engineer, by apprenticeship
- Polytechnic School of the University of Tours, France
Work experience at Hexacomb SA (now Smurfit Kappa), cardboard industry
2008-2010
- BTS (BAC+2) in Computer Science and Networks for Industry and Technical Services
- Grandmont High School - Tours, France
References
- Annabel Alberto
(France-Travail IT manager)
- Maryan Brussot
(France-Travail Team Leader )
- Cyril Vacher / Sylvain Kozma
(France-Travail colleagues)
Xavier Touron — contact@xtodev.fr — (+33) 7.66.65.32.68 — - September 2024