My role is to help defining the foundation of a globally and highly available
platform, autonomous in 9 offices scattered around
the world, as well as to customers in different countries. The platform
is using a mix of on-premise hardware in order to meet the data heavy
and sensitive requirement, as well as cloud whenever possible. All tools
and applications are chosen with the infrastructure agnostic aspect in
mind, as well as the HA and distributed aspect. A significant amount of
work is done on monitoring in order to modernize and introduce
active monitoring using most of the tools available in the Prometheus
stack, leading to some contribution
to Grafana's Loki. Another significant work is the introduction of a
distributed Minio cluster, allowing continuity in data storage between
the cloud using Amazon S3 and the on-premise, using Minio S3-ready API,
which also led to some more contributions.
This storage solution is meant to replace the Samba storage used to
store everything, from build artifact to source code. Finally, a lot of
work is done to modernize source control, with some additional work to
replace SVN, still in place due to large data churn in projects, with GIT
LFS, thanks to the globally S3-ready storage previously mentioned.
As a principal engineer, I assist various teams on the modernization plan that is put in motion by Stint, this includes helping team leads to build and design solution at scale, while keeping great and common standards between every teams. As part of that transformation, there is a few aspect that touches more on maturity, such as evolving toward a strongly typed language and compiled languages, enhancing the provided tools and practices to ease separation of concern, and improve our continuous delivery process by modernizing our development environment. Two of the main project includes a rewriting of the mobile app in React Native towards Flutter, and a slowly replacing of our Django monolith into various event-driven microservices using Kafka and a mix of AWS lambdas and K8s containers, depending the fit.
During this role, I will draw a portrait of the current state of the system up, starting with data design, and the existing relations between various data section. Part of this work is to illustrate which sections compose business domains, which could be re-platformed as autonomous and standalone component. The next significant step is to work on a centralize authentication mechanism, which follow modern standard and allow easy integration with external component, both inbound (IdP, SAML) and outbound (OIDC, OAuth). The second part of this mission is to get started on a more granular plan for the re-platforming of the system, as well as getting started with the implementation of the chosen authentication provider vendor - Keycloak
As part as my previous commitment on Dev-Ops in the company, the company has decided to create a team dedicated to Dev-Ops, supporting the engineering team with core development.
Our engagements covers strengthening security on our different systems including tools but also production applications, enhancing the computing power with lightweight orchestration, or also adding transparency to our deployments to help reducing risks.
However, because of the startup format, I am still personally involved on development efforts, whether it is related to architecture, implementation or testing. Our team also work closely with the dev teams to support them with automation integration, deployment and monitoring.
Within this startup, I assume two roles. The main one is to design and develop one of the 3 main products of the startup, which help content provider to distribute their media through cloud technologies. This product is an broadcast orchestrator built with the Amazon Web Services, using Python and Angular and is used by major actors such as Channel 4, BBC or DAZN.
The second role is to help the startup with good practices when it comes to Dev-Ops, either on the product development/deployment processes, but also with tools accesses in general. One of my most significant work has been to cover all major tools under a federated authentication and help with the setup of automations and limit manual processes to critical production systems.
Part of the migration team, my original task was to look after two core software used for the migrations of new airlines inside the Amadeus services. I also help on developing the future of these tools by building a way to control these system using web application and RESTful API.
This role came about as the result of my personal involvement in bringing new innovative solutions for the companies various operational support digital systems.
My main task is to lead of a set of services which aim to monitor, generate alerts and self-heal where possible.
I am a member of the team in charge of developing the back end integration with different third party services, divided in few independent micro-services. We use the AWS stack, and develop in a serverless context using Node.js with Typescript. We work with a domain driven approach.
In the mean time, I am in charge of developing a monitoring and anomaly detection tool which aim to watch the whole digital sector of the company. It is also using the serverless stack but works with Python. It uses SQL databases and interact with it using SQLAlchemy.
The objective of this internship was to start the upgrade the computation system, and update the financial database . The legacy system was made out of SAS procedures called manually by researchers. The final checkpoint would be a autonomous system able to update daily databases automatically, also taking into account new requirements that were not, at all or well, handle by the previous system. During this mission, I get involvement with FX, high frequency trading, and good financial instrument knowledge.
During 3 months, our team has to develop robots which will be interacting with children. Working on the computer/electronic part, the robot I was in charge of has been developed on Raspberry Pi, and controlled from an Android device.
3 months internship over three types of project. One of the project was a Python development in order to realise an API data structure translator in order to make these API able to share data (REST and SOAP). An other project was to realise the integration of a new feature on the ODR panel, offering the possibility of videoconferences using Zoom.us API. Finally, the last project was to develop a PoC to trigger task on the Jenkins platform when a commit was achieve on Github. Furthermore, the system was making report automatically published on Slack.
Scripting in order to extract from a heavy documents database (+10000 documents/meta-data) of a LotusNote instance to a SharePoint.
This master of science, taught in English, offers the opportunity to go in depth on theories of many fields of Computer Science. Out of all the topics that got taught, there is some practical project that can still be found on the GitHub. In relation with operating systems, you can find the 'fast-way' Californian 'NachOS' project, as well as a game developed using the RabbitMQ technology, and finally the 3D simplistic engine made out of OpenGL.
Bachelor of science with specialisation in software development & engineer, concurrent programming, network security, forensics, embedded & robotics.
Used languages & technology: Java, Python, C++, Bash, Groovy, PHP
Program taught at université Pierre Mendes France.
Used languages: C/C++, Java, PHP, HTML/CSS, SQL, Bash, Ada
Awarded with honour - Option "Digital System"
During the last few year, I have had the chance to contribute to various open source project, touching a different grounds. The most recent significant contributions were for the Mixxx DJ software (C++, JS), a software used for djing, the Terraform provider for Minio (Go) and Loki, a Grafana tool used for logging indexing (Go). The Mixxx projects has allowed me to get a great exposure to embedded controller used for djing, with a focus on offload rendering. The Terraform provider has allowed me to learn more about the the Terraform and the Minio API.
Following a hackathon organised by UEA called SyncTheCity in Norwich, I have started a business which aim to create a way to ease travelling around the UK and Europe. This project takes the form of a smartphone app and can be used to book journeys door to door across integrated cities. Furthermore, the app aims to offer you better alternatives to green travelling and offers a step forward towards responsible travel.
During the first year of Master, I took party in a flavour of the famous NachOS pedagogic project from Berkley University. The main points on which the project was focused were the I/O console, synchronization with mutex/semaphores/conditions, multi-threading context, management of virtual memory, filesystem and finally, networking. This project is fully available on GitHub.
Group project done during the second year of French DUT (HND Level). A live preview can be visited at this address. Credits can be found at this address. Do not hesitate to ask for booker or artist credentials in order to have a deeper look through feature and view.
I've worked on this project stands for a few years now. I manage a virtual private server web hosting service for myself and a number of clients. Services include: web hosting, private file hosting, project tracking (Redmine), versioning (GIT), and an email solution. I also offer custom services like WebApp hosting including Python's Flask, in a public or private context. I use OpenVPN to encrypt the private connections. Finally, project are hosted on Gitlab server, and most of them contain a CICD pipeline, allowing fast and effortless testing and deployment.