Xavier Touron

DevOps & JAVA Development Engineer

🇫🇷  ðŸ‡¬ðŸ‡§

Pic


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

  1. Annabel Alberto
    (France-Travail IT manager)
  2. Maryan Brussot
    (France-Travail Team Leader )
  3. Cyril Vacher / Sylvain Kozma
    (France-Travail colleagues)

Xavier Touron — contact@xtodev.fr — (+33) 7.66.65.32.68 — - September 2024