I started, like most, developing software as a self-taught developer to fulfill my own needs, learn, and understand how things work. Later, it became an obvious choice to dedicate half of my PhD work to learning and practicing bioinformatics. This first step incited me to complete my training by following a formal software developer training that ended in 2017.
I worked as a fullstack software developer since then, and this is my current position at KSD.
Weather@home is a self-educational project I started in the spirit of doing everything on my own, as far as possible.
I started assembling a minimal circuit with 2 thermal probes and a Raspberry Pi, and added a webcam. I then developed backend code reading and storing probe data in a database and extracting screenshots from the webcam feed. I then developed a simple webapp displaying data as graphs, using Flask and Bootstrap 3.
Fullstack Web app IoT Flask Self-hosted SQL
I developed BLASTats as part of my PhD work in an attempt to automate a long, recurring and tedious process in my lab. This process aimed at answering the question: "how is protein P spread among genomes of strains of those species of interest?"
BLASTats offers a simple GTK+ GUI automating all steps of this process: querying online databases through their API, aligning resulting protein sequences, computing distribution statistics among strains of species of interest, and eventually computing of a phylogenetic tree infering putative evolution of protein's sequence in strains.Source code.
Python GUI (GTK+) Data processing API querying Web scraping
I developed EggnogGenome as part of my PhD work as part of a project aiming to reannotate putative gene functions of Baciulls thuringiensis' whole genome.
Python Data processing CLI
My main task within KSD is to participate to the development of complex Django applications playing a role in the modernization of our main product (cash registers), developing associated online services and automating internal processes.
Examples of Django apps I participated to (or developed from the ground up):
Django Django REST Framework Linux
Some projects put me in strong interaction with low-level hardware as I developed embedded software.
For example I developed an embedded software interfacing different pieces of hardware such as a vending machine, an ID badge reader and our own cash registers network, allowing on-site clients to buy drinks using their ID badge.
Raspberry Pi Embedded software Python
In addition to developing software, I have the opportunity to play the role of sysadmin, performing tasks mainly related to GNU/Linux administration, both local and remote. I set up and/or enhanced the following processes:
I was also in charge of setting up and maintaining our internal and remote GNU/Linux servers, which led me to set up several automating and monitoring tools in an effort to make it an easy and reliable process.
Linux Cython Git/Gitea Jenkins Nagios Ansible
I had the opportunity to develop, from the ground up, an online service dedicated to real estate agents, allowing them to create 360° virtual tours. The service is available only to subscribers here but a showcase is available on the public website.
The service is architectured as modules: a "core" provided by Drupal 8 and a CRUD webapp.
I developed a Drupal 8 module encapsulating all our specific code. Drupal is used "headlessly" here, being requested exclusively through its REST API.
I wrote the CRUD webapp in vanilla HTML5/CSS3/ES6, without any framework. The GUI offers high-level controls from which data is extracted and translated to atomic requests which are sent asynchronously to Drupal's REST API.
I was also in charge of setting up the remote GNU/Linux server and deploying the whole service (CMS + webapp) to it.
Fullstack Web app Drupal 8 headless Asynchronous JS
I decided to spend half of my microbiology PhD learning and practicing bioinformatics. This meant:
Data processing Web scraping GUI CLI