CV

Employment

2023-    , Senior Cyber Platform Engineer, Department for Work and Pensions - Digital, Newcastle
  • Engineering Cloud Native Data Science platforms at the Cyber Resilience Centre
2022-2023, Software Engineer, Department for Work and Pensions - Digital, Newcastle
  • Develop a cloud-based software as part of an Agile team to get insights from the multiple handwritten letters sent to DWP services. I contributed to the development of the AI component of the solution by building a test dataset and optimizing the labels and thresholds used by our zero shot classification model (https://huggingface.co/facebook/bart-large-mnli). I also supported the team in deploying the solution on Sagemaker using AWS Cloud Development Toolkit.

  • Develop serverless services (AWS lambda function) with AWS CDK using Python and TypeScript

  • Implement Python coding standards in the team and enforce them in CI/CD pipelines- Develop a cloud-based software as part of an Agile team to get insights from the multiple handwritten letters sent to DWP services. I contributed to the development of the AI component of the solution by building a test dataset and optimizing the labels and thresholds used by our zero shot classification model (https://huggingface.co/facebook/bart-large-mnli). I also supported the team in deploying the solution on Sagemaker using AWS Cloud Development Toolkit. - Develop serverless services (AWS lambda function) with AWS CDK using Python and TypeScript - Implement Python coding standards in the team and enforce them in CI/CD pipelines

2021-2022, R&D Software Developer, OSE Engineering, France
  • Lead the development of the front-end (JavaScript) and back-end (Django) of a Web application to manage a fleet of delivery robots. Some of the functionalities include: 1) mission design using cytoscape.js, 2) control the robot using WebSocket, 3) remote control using joystick and data/video streaming using WebRTC.
  • Develop a python package (source code, docs, example notebooks) to solve the electric vehicle routing problem using a Dijkstra’s algorithm and interactive maps visualisation using Folium/Leaflet.js
  • Initiate a guide for python software development best practices internal to the company. The guide covers topics such as how to structure a python project, writing meaningful code, documentation, testing strategy, or continuous integration.
2019-2021, Research Scientist, National Oceanography Centre, Southampton

Analysis of multiple ocean & atmosphere datasets (structured and unstructured) to characterise the physical processes at work in the North Atlantic Ocean (poleward heat fluxes)

  • Identified origins of trends and patterns observed in flux variability (cross-correlation analysis, cluster analysis)
  • Developed methods (e.g. Monte Carlo) to reduce uncertainties on heat fluxes
  • Trained and led support scientists and PhD student to data processing and data analysis methods using Matlab, Python and Git
2014-2018, Research Project Scientist, Scottish Association for Marine Science, Oban

Characterisation of the variability of North Atlantic circulation from ocean observations

  • Planned, executed and led fieldwork (transatlantic research cruises, robotic missions)
  • Developed reproducible workflow for the data processing of robotic data with the development of a matlab toolbox.
  • Designed new methods to characterise the ocean heat transport from new observations (gridding of irregular datasets, objective mapping, spectral analysis, Monte Carlo)
  • Led and published reports and research articles on the data obtained from field programmes
2013–2014, Postdoctoral Associate, LOCEAN, Paris

Characterisation of the spatio-temporal scales relevant for the winter mixing of the ocean

  • Identified principal mode of variability of ocean currents using dimension reduction methods.
  • Detection of coherent eddy patterns in time-series using wavelett analysis.
2010–2013, PhD Fellow in Ocean Physics, CEFREM, Perpignan

Analysis of multi-platform observations to study of the impact of episodic events (storm and winter mixing) on the ocean circulation and the long-term evolution of its properties

  • Data gathering, cleaning and exploration of oceanic profiles (>200k), including quality control procedures (cross-calibration,outliers), metadata collection and descriptive statistics
  • Analysed spatio-temporal variability of ocean mixing (covariance and time-series analysis)
  • Identified spatial regions with similar seasonal cycle using a k-mean cluster analysis


Education

  • 2010–2013, PhD in Ocean Physics, CNRS, Perpignan
  • 2008–2010, MSc, Atmospheric and Oceanic Physics, Université Pierre et Marie Curie, Paris
  • 2005-2008, BSc, Maths-Physics-Chemistry, Université de Strasbourg


Experience in Software Development

  • regular (and efficient) communication with co-worker and customers
  • good understanding of the project requirements, and if necessary, helping the customer formulate what he/she wants
  • project management: project planning, prioritizing requirements, and breaking user stories in tasks
  • follow best practices for structuring, designing, and documenting a software project
  • automation: code linter/formatter, source control, testing, and continuous integration pipelines.

Experience in Python

I mostly use Python as a procedural programming and objected-oriented programming language. I love learning new python patterns and write “pythonic” code. For example, when it is suited, I like using assertions, decorators, args and *kwargs parameters, NamedTuples and Data Classes, ABC Classes, dictionary, list comprehensions, or generator expressions.

When I am writing code, I follow the PEP8 guidelines and software engineering principles from Robert C. Martin’s book Clean Code, such as writing code that explains itself and is easy to read, writing bug repellent code, follow DRY and SOLID principles and working with design patterns.

I am also documenting the project continuously by creating markdown or reST files and writing docstrings for all the main functions, classes and modules developed in the project. Then I use Sphinx to automatically extract docstrings and compiles them into a well-structured and easily readable HTML documentation.

I like to use the Pytest framework for my unit and functional tests.

Technologies and Languages

Python Libraries

NumPy, Pandas, scipy, Xarray, Matplotlib, Holoviews, scikit-learn, networkx, sphinx, Django, argparse, pytest

Technologies

Containerization (Docker, docker-compose), source control (Git), Continuous Integration (gitlab-ci), Django, Websocket, WebRTC

Other Languages

JavaScript, Shell, HTML, CSS, MATLAB, Markdown, LATEX, SQL

Analytical Skills
  • Statistics: Covariance, Cross-correlation, Confidence intervals, Monte Carlo methods
  • Time-series: Spectral & Wavelett analysis, auto-correlation, detection of patterns & trends
  • Spatial: Geostatistics, Kriging, Objective Analysis
  • Supervised and Unsupervised Learning: Classification, Regression, Clustering


Personal Skills, learned during my academic career

Leadership
  • Responsible for the data acquisition, processing & storage for the UK research program UK-OSNAP
  • Supervised and trained MSc and PhD students to data analysis methods in oceanography
  • Organiser of the Oceanography and Climate seminars at the National Oceanography Centre
Communication
  • Published 27 scientific articles in peer review journals (>700 citations), 7 reports
  • Delivered regular presentations in international and national conferences (60 incl. 12 invited)
  • Engagement with public and stakeholders on climate change
Teamwork
  • Inter-disciplinary and international scientific collaborations with physicists, chemists, biologists, geologists, statisticians from UK, US, Netherlands, France, Germany and China
  • Close collaborations with scientists, technicians, IT-experts and mariners. particularly during research cruises


Fieldwork

  • 12 oceanographic cruises, 200 days at sea in the North Atlantic and in the Mediterranean. Planned and led fieldwork activities, liaise with mariners, cruise reports redaction
  • 9 ocean glider missions (underwater robot) [2014-2018]: piloting, data processing and analysis