Here is my complete resume. Resumes by technology are available for Golang, Python, Java and XML/XSLT.
I am a pragmatic programmer that rejects any dogma and doesn’t consider failure as an option. My experience, technical and human, allows me to secure projects I am working on.
Michel Casabianca
110 cours Saint Louis
Bat B App 44
33300 Bordeaux
France
+336.86.99.63.89
casa@sweetohm.net
https://sweetohm.net
https://github.com/c4s4
http://linkedin.com/in/casabianca
My first task involved rewriting two highly critical applications. They handled a significant load but were extremely fragile: incomplete and outdated documentation, no tests (neither unit nor integration), unnecessary and unmanaged complexity.
I began by writing a set of integration tests to understand how these applications interacted with the external world. I ensured coverage of around 80% to rewrite these applications with a sufficient level of confidence.
Subsequently, I reworked these applications to simplify them and enhance their performance. I managed to achieve a respective gain of x2 and x7, which was quite unexpected given that I used the same programming language, GO.
Finally, I optimized the performance by profiling the code with Pprof. This led me to replace GO’s default JSON library with a more efficient version since the application needed to parse and generate large volumes of data in JSON format.
While writing the integration tests, I developed a tool for integration testing by reusing components I had previously developed during my contribution to the open-source project, Venom.
Additionally, I worked on developing functionalities for the open-source project Swagin, particularly a limiter capable of adjusting the server’s number of simultaneous requests based on available memory.
Afterward, I developed new functionalities for these applications, including a geolocation system based on the processing of RIR files.
My last task was to port a read-only database, HiloDB, to Rust. A prototype of this database had been developed in JavaScript. This database allows for the secure storage of sensitive data and querying without revealing its content. I also added an implementation with the CVM algorithm.
As Lead Backend developer, I develop microservices with Golang and Gin + Gorm + SwaGin frameworks. I drive technical decisions based on POCs and team consensus. I also contributed some open source projects to fix and improve these tools:
I have made presentations on technical subjects, such as Git, Docker Compose, Gobinsec, Message Broker, Document Databases, SwaGin, Go Generics, NeON. I have also offered technical challenges to the team and written articles for the Intercloud technical blog (at https://blog.intercloud.com).
Development and maintenance of a medical image annotation tool with Python, Flask, SQLAlchemy and an interface using JavaScript and Cornerstone.
Development of an Android Kotlin application to guide echocardiography with a machine learning algorithm.
Development of a Django application for the administration of the patients, exams and operators of the Androïd application along with a viewer for echocardiographic images by cardiologists. Synchronization is performed with a Go REST webservice. Development of a web viewer for cardiac echographies with Cornerstone library.
Rationalization of DESKi platform (put behind a reverse proxy to get rid of an iFrame) with Docker Compose, moved C++ code into the Python webservice. Deployment automatization, with automated database backups and rollback implementation. Setup of a staging platform.
Alerting on security issues, implementation of a security chart and good practices.
Git training on branches for the team and cheat sheet publication.
I was in charge to moving legacy backend, mostly in Perl, to modern technologies such as Python or Golang and implement good computer science practices, such as unit and integration testing, documentation and so on.
I maintained Perl backend and developed a high performance webservice in Go to log deprecated code.
During this short mission I developed tools to import and export Excel CSV files to the Django server. I highly improved performance and error handling writing complex SQL queries and implementing cache in server.
I am Lead Backend Developer at mieuxplacer.com since march 2018. I’ve been developing and maintaining the Python/Django backend:
Build of Debian machines on AWS.
At the end of 2015, I left the Orange group to work as a Freelance:
In the Vodoo team (2008-2009) I worked on the video on demand project in a large team located in Bordeaux, Paris and Lille. I developed software in Java (on servers) and JavaScript (on set-top boxes).
In 2009 I volunteered to evaluate Talend and develop statistics batches, in 1013 and 3900 projects. These projects were finished using Python and SQL. The user interface, to display statistics results, was developed in Flash.
We then used this Python expertise in a video chat project for a bank, in the VisioCC project. We used Django to develop the administration backend and webservices called by the video chat written in Flash.
I then joined the Telefact team (2010-2013), to work on payment software (credit card and bill payment) to develop an administration backend using Django. I also implemented PCIDSS (data security standard) on payment softwares.
I then worked on MonSVI team (2013-2014) on statistics batches using Python and MySQL.
In 2014 I worked in the xMS team to refactor a protocol frontend named sgs-enabler. It had been developed in Java using NIO and we rewrote it in Go. This was a huge improvement in terms of of reliability and performance. This project was the subject of a presentation at BDX.IO, DevDays and Midi Techniques Orange, online at https://sweetohm.net/slides/go-retour-experience/.
Finally I joined mid-2014 the Cloud team to develop tools to manage virtual machines, in Python.
While working for Orange, I have developed tools that were released under Open Source license:
During these years I also organized many workshops and training sessions on Python, Django, YAML and Go.
After I left In-Fusio, I worked for one and a half years as freelance developer, on following missions:
In R&D department at In-fusio, a company in Bordeaux that developed games and JVM to run them on mobile phones (ExEn and EGE) and server software to download games. The Gamezilla platform has been managing interactions with players, downloads and SMS, for six years with an availability of more than 99%. There has been more than 20 million players that have done more than 30 million downloads and send more than 220 million interactions in 45 countries.
I developed about half of the Gamezilla platform, webapplications for the most part (Servlets, JSP and PHP, but also Python and Ruby).
I conceived the Gamezilla architecture, first as Java expert, then as software architect. I worked on performance, replacing EJBs with a Java library calling Oracle with optimized SQL queries, with a factor 10 improvement. I also worked on software development process, managing dependencies and implementing nightly builds, developing a suite of development tools and a centralized documentation, in a Wiki.
I had a technology watch activity on application servers (we choose BEA Weblogic), JMX (to manage Java applications), Maven (Java application build) and JSR 124 (Java Vending Machines).
I have organized internal training on Java, Object Oriented Programming, XML and XSLT.
I was also project manager for six months for Gamezilla team (with 6 developers).
I worked for Editions O’Reilly (French branch of O’Reilly in France):
Articles Series for Oracle Magazine:
Java development for Editions O’Reilly and SdV Plurimédia:
Author and translator of XML articles for Quelm.
I have been Physics and Chemistry teacher for 7 years at Lycée technique Le Corbusier at Strasbourg.
Fond of computer science, I have developed many Open Source projects, that you may find on my Github account http://github.com/c4s4. You might notice:
I also maintain a personal website https://sweetohm.net that contains texts of my lectures, articles, game applets and other computer stuff.
I have been speakers at following lectures:
Few activities related to computer science: