Summary

I continually strive to improve myself as a software craftsman. Software Craftsman is way to be in the day to day work. My objective is to develop clean code, improve code quality and avoid manual steps which are source of confusion and error prone.

I have been working in several mid to large size projects. On each projects, I have been involved in introducing or enhancing unit testing, build process, continuous integration mechanisms.

I am really focused on how things are done in term of software architecture, components deployment and automation. I do not like big monolithic softwares with hard coupled dependencies. On each projects I have been working on, I try to break dependencies and isolate what MUST be isolated.

The biggest problem I met is not really the technical part, but the human one. Generally, people do not like changes. And doing work as they always did is something hard to change in mind. I DO my best as a SCRUM Master.

See also :

Personal project :

This project implies following technologies :

  • ElasticSearch
  • node.js + REST Api definition
  • nginx setup
  • Backbone.js

Main Skills:

  • Human relationships
  • Competitive C/C++ skills (multithreading, Design Patterns, Boost, Metaprogramming, STL/Boost)
  • C#, Powershell, Notes Api, WCF
  • Node.js / Python / Erlang
  • Competitive Linux skills
  • Distributed application development with middleware such as Corba, RMI, NServiceBus
  • Financial IT: Financial Kit, FIX, Equities Markets, Black-Scholes Pricing Model, Financial Valuation
  • Embedded Systems develoment (QNX)
  • Aware with Web Development (Ajax, Xhtml, Javascript)

Professional experiences

Senior Software Engineer

11/2019 - today
Amsterdam, NL
  • Develop reliable micro services for everything related to money @Uber (onboarding, checkout, transaction history)
  • Drive reliability engineering for the services my team owns (monitoring, alerting, on call actions)
  • Responsible for defining technical specifications in agreement with my team composed of 8 backend engineers
  • Provide software engineering guidelines for more junior team members.
  • Mentor junior engineers

Head Of Development

09/2018 - 01/2020
Amsterdam, NL
  • Leading by example. Continuously supporting team members (Training, Coaching, Certification, ...)
  • Managing on-site teams of 16 people (developers, QA and SRE)
  • Managing remote teams in Minsk, Belarus (developers, QA)
  • Maintain online service scaling up to 100 million api calls per year
  • Move services to AWS
  • Technical mentorship to the teams
  • Responsbile for technical support to our partners
  • Migration to micro service architecture (Spring::Boot, Kafka, Prometheus, gRPC, REST)

Senior C++/.net Software Engineer - Scrum Master

01/2017 - 12/2018
Amsterdam, NL
  • Develop and maintain new architecture of c++ and .net code
  • Continuous {Integration, Delivery} repsonsible on TFS / Gitlab

Team Leader ; Software Craftman ; Senior Software Engineer - C++11 / 14

09/2018 - today
Amsterdam, NL
  • Third Party Integration Team Leader
  • Container deployment : Docker / Kubernetes / Swarm
  • Ceph distributed storage
  • C++11 / 14 development

Scrum Master - C++/.net Senior Software Engineer

09/2010 - 11/2015
Nice, Sophia Antipolis
  • Technical Leader
  • We are providing tools for IT monitoring, forecasting, reporting on various platforms: Microsoft Exchange, IBM Domino, BlackBerry, IBM Sametime, Microsoft Sharepoint.
  • Certified Scrum master for
  • Made transition from Team Foundation Server to Git
  • Manage a 6 people team based on agile methods (SCRUM)
  • Member of GSX Research & Development team
  • Provide monitoring tool for Company IT department.
  • In charge of R&D, technical decisions for product enhancements, technical architecture.
  • Develop monitoring components on messaging tool such as Domino, Exchange, Sametime, Blackberry Enterprise server, Sharepoint
  • Maintain code stream of all the 4 products of the company based on Team Foundation Server with nightly builds and automatic merge between the different branches.
  • Design / Develop satellite softwares for internal usage based on Angular.js / Bootstrap technologies.
  • Rally Software hacker (http://www.rallydev.com/)

C++/Corba Architect

06/2008 - 08/2010
Nice, Sophia Antipolis
  • Part of the Research & Development team of Wall Street Systems in Sophia Antipolis.
  • Development of C++ CORBA components such as financial instruments for Front Office business.
  • I am currently learning financial industry such as Equities, Edge Funds, Front Office instruments...
  • Setup & Development of the Apache ESB ActiveMQ. Usage of the C++ api to communicate with the ESB.
  • Involved in the rewrite of the UI using the .NET WPF Api.

Software Architect

04/2008 - 06/2008
Monaco
  • I was involved in a project managing records in "Credit Bureaux" databases of Experian products.
  • I architectured and developped base software components to make this development reusable for all the Experian projects via configuration file in XML.
  • This developement was done using Ruby scripting language and databases were : Oracle, DB2 and MSSQL.

Software Engineer Contractor

10/2005 - 03/2008
Nice, Sophia-Antipolis
  • IT consultant working for different customers on Sophia Antipolis, Nice, France.

Embedded Software Engineer/Software Architect

05/2007 - 03/2008
Nice, Sophia-Antipolis
  • 11 months mission in Visteon Technologies in order to develop a 3D application on auto radio using OpenGL ES
    • Charge of all the development life cycle : specifications, design, development ;
    • a C++ project taking as input a collada file and generating C data structures running on Windows ;
    • a C++ Qnx project which use the datas generated
  • The target embedded platform is an ARM9 CPU with a coral jade GPU (from Fujitsu)
  • In charge of another project at Visteon :
    • Development of a video player on this target using the open source library ffmpeg.
Technical Overview
  • QNX
  • ARM9, Jade Fujitsu
  • C++, Multithread, FCollada
  • OpenGL ES, GF

Embedded Software Engineer/Software Architect

12/2006 - 04/2007
Nice, Sophia-Antipolis
  • 6 months mission in a company specialized in transit transport development ;
  • Development of a C++ application which enables the priority at crossroad for the bus, tramways ... ;
  • All the development designed on Linux (IPC communication, multithreads, ...) ;
  • To enable the priority, there was a module communicating on the serial port via a radio modem with the crossroad. The implemented protocol is called DIASER linked with a GPS receiver.
Technical Overview
  • Linux
  • Shared memory, processes, threads, serial input/output
  • ARM optimization
  • GPS, Sirf2 chip
  • DIASER protocol
  • Trac, Subversion

Embedded Software Engineer

09/2006 - 11/2006
Nice, Sophia-Antipolis
  • Hardware architecture :
    • 1 TMS470 hosting the main Operating system (a micro real time os) and the engine code (description below) ;
    • 1 FPGA with 2D accelerations hosting widget library ;
    • the 2 cpu's were connected through a bus
  • Development of a GUI auto radio system based on a XML description whose XML schema was defined by BMW ;
  • Simple Process :
    • XML description stored in a SQLite database from a C# tool ;
    • SQLite database used to generate C datas meta model ( written in C# too) ;
    • Design and development of a generic engine using datas generated before ;

C++/Tuxedo Software Engineer

10/2005 - 09/2006
Nice, Sophia-Antipolis
  • First consulting work in a huge company leader in the flights reservation called Amadeus ;
  • worked in the rental car team ;
  • Development of a scalable networking application written in C++ on HP-UX in order to replace the transactional server : Tuxedo ;
  • database Oracle development ;
  • technical leader for software production
Technical Overview
  • Linux, HP-UX
  • C++, Python, Unit Testing
  • BEA Tuxedo

Intern Software Engineer

03/2005 - 09/2005
Nice
  • 7 months internship working on a network monitoring software ;
  • Web supervision module development based on the HTTP SSL/TLS protocols :
    • web pages reception,
    • NTLM authentication, Basic, Digest,
    • SOCKS(4/5), SSL and Http Proxies,
    • Integration of a javascript interpreter : mozilla ,
    • All has been developped in .Net C++/Visual Basic. All the work was based upon the .Net C++/VBA interoperability.
    • UML analyze (use cases, class diagram, sequence diagram).
Technical Overview
  • .Net platform, C++
  • Web protocols

Intern Software Engineer

06/2004 - 08/2004
Luxembourg
  • 3 months internship ;
  • Worked on an open source project called . An e-business project in association between the European Parliament and the Vietnamien Parliament.
  • Module development :
    • from an activity diagram with the differents actors, I had to research how I could have generated the whole code for one "articial" actor in a B2B transaction.
Technical Overview
  • Linux
  • Java, Web Services, Axis
  • XML, XSLT

Degrees

Graduate Engineering School specialized in Distributed Applications

ESSI
Nice
2003 - 2005
  • With honours
  • Engineering metodologies : Project Management, Project Life Cycle
  • Programming Paradigm :
    • Erlang : Parallel Programming
    • C++ : Meta Programming
    • Constraint Programming
  • Databases :
    • Relation databases : Oracle, PostgreSQL
    • Object Oriented databases : O2
  • Middlewares : Corba, J2EE (Ejb, Servlets, Jsp)

Master's degree in Computer Science

Paul Verlaine University
Metz
2002 - 2003
  • With honours
  • Algorithmic Theory :
    • data structures
    • greedy algorithms
    • dynamic programming
    • linear programming (simplex algorithm), flow algorithm

BSc in Computer Science

Paul Verlaine University
Metz
2001 - 2002
  • With honours
  • Corba middleware
  • Network programming on Unix
  • 3D Programming

Two-year University degree in mathematics

Paul Verlaine University
Metz
1999 - 2001
  • With honours
  • Topology
  • Probability
  • Mathematical Algebra
  • Mathematical analysis

References

12/2014
  • Professional Scrum Master 1

French GNU/Linux Pratique Magazine
06/2008
  • Article about OpenID specification ;
  • Howto to put in place an OpenId complete server ;
  • Tutorial on how to use API to use OpenId on our website

French GNU/Linux Magazine
06/2008
  • Article about freedesktop.org technology called DBus ;
  • Overview of DBus GLib and python bindings ;
  • Skeleton \& Stubs overview ;
  • Protocol explanations

Drylm.org

Personal WebSite
2007 - today
  • Founder
  • System/Network Administrator : mail (postfix), subversion, apache
  • Development group creation

French GNU/Linux Magazine
12/2006
  • Article about E17 setup and configuration

Dreamcast Development Article

French GNU/Linux Magazine
04/2006
  • Article about development on Dreamcast
  • Cross Compiler setup
  • Kallisti Os tips :
    • how to play music,
    • how to render fonts, bitmaps,
    • how to manage controllers,
    • how to debug.

D.C.S.I (not yet translated)

Personnal open source project
2004
  • Dreamcast Game Development,
  • C++, Kallisti Os