127, boulevard de Polangis
94340 Joinville le Pont
38 yo
guillaume AT blackmilk DOT fr
+33 6 21 25 11 83
C and C++ Software development
Distributed systems, storage, network and system programming
Employment:
2011-04 – Today
Software Engineer, Tech leader, Scality, Paris
My technical contributions in the company were in the field of creating efficient data structures in an unstructured object store environment. I also participated significantly on the realization of a distributed POSIX compliant filesystem.
- I worked on a distributed database implemented as a b+tree on top of an object store. I created an efficient branched snapshot mechanism and I designed a write-back cache with transaction log in order to mitigate write amplification while keeping ACID property.
- I also worked on our in-house filesystem and its POSIX compliancy, on its storage backends. I initiated some key refactorings to increase long-term maintainability and future optimizations, Finally, I wrote a complete CDMI REST interface for this filesystem.
- I designed a key-value store for SSD that contradicts all the papers claiming that b+trees are structures from the past. It was designed with efficiency and robustness in mind. It features strong parallelism, unlatched IOs, always consistent guaranties and very good scalability.
As a tech leader, while driving feature teams
- I did coaching and review of teammates work.
- I took part in the design of new processes to ensure the software quality and to make team deliver
- I devised a method and framework to formalize test plans to help the QA team to enhance the coverage. Based on a multi-dimensional view, this method promotes rigor and permits an iterative work to reach an exhaustive plan.
Patents:
- WO2015134676A1 : Distributed consistent database implementation within an object store
- WO2015134677A1 and WO2015134680A1 : Snapshots and forks of storage systems using distributed consistent databases implemented within an object store
- WO2015134678A1 : Object storage system capable of performing snapshots, branches and locking
Keywords:
- GNU/Linux, C, apr, apache modules, fcgx, pthread, fuse
- git, svn/trac, valgrind, gdb, GNU toolchain
- Distributed systems, strong parallelism
2003-11 – 2011-03
Freelance Software Engineer, Paris
Contractor on several missions for the French Éducation Natonale at Rectorat de Paris
- System and network programming
- Consulting on scalability, software optimization and administration of AGLAé, an application for postgraduate scholarship management and payment. This is a critical application exposed to more than one million of users that handles the payment of more than one billion Euros per year.
- Consulting on scalability and software optimization of the baccalauréat results publication system. This application was exposed to nearly140000 users looking after a very short lived and valuable information.
Both these platforms were exposed to massive influx of users in very short periods of time. The challenge was to absorb this huge amount of load while the original designs did not take into account any of the scalability concerns.
Development of specific business web applications for small companies using C++
- Design of reusable components and framework to ensure rapid development. Featuring vector graphic output, a domain specific language and a bunch of classes related to French accounting
- Development of a double-entry bookkeeping accounting software
- Development of a human resource management system for event agencies
- Development of a car park management system for a valet parking company
- IT management, including VPN, mail and web hosting
Keywords:
- GNU/Linux, IBM DB2, WebLogic, Apache, PostgreSQL
- C, C++, Forth, php, bash, cairo, OpenMP, SQL
- Ajax, Javascript, HTML, CSS
2000-08 – 2003-11
Software Engineer, Alinka (Prologue SA subsidiary), Paris
- Software development on the cluster management software Alinka (HPC and HA)
- Software development and port on IA/64
- Development of a replication module for PostgreSQL
1998-12 – 2000-04
Software developer, Items Informatique, Gambais (78)
- System programming with C and bash on GNU/Linux
1996-09 – 1998-06
Apprentice, Matra Espace, Velizy (78)
- Software development on RISC micocontroller
- GUI development with Pascal
Personal Projects:
- C++ Web development framework (alike J2EE)
- Image processing software for regular and astronomical photographs
- Electro-mechanical-acoustical simulation software for DIY audio
- DVB-T/softCAM recorder
Education:
- 1998 BTS électronique (not defended), IFA Robert Delorozoy, Montigny le Bretonneux (78)
- 1996 Baccalauréat STI génie électronique (mention bien), Lycée Edouard Branly, Dreux (28)
- 1994 BEP électronique (mention bien), Lycée Edouard Branly, Dreux (28)
Hobbies:
- Astronomy and astro-photography
- DIY audio and acoustic
- Programming
- Reading: Science Fiction, technical papers
- Movies with a lot of special effects and eye candies