Curriculum Vitae

Éric Lemoine

Python, JavaScript, and C developer

Simple and Solid Software Lover

With a taste for Linux System Administration

Email:Eric -DOT- Lemoine -AT- gmail -DOT- com


Sep 2001 – Jul 2004
Université Claude Bernard de Lyon (UCBL)
Phd student
Subject: New network interface functions for improved performance on multi-processor machines
Sep 2000 – Sep 2001
École Normale Supérieur (ENS)
Master student
Field: High performance computing and networking
Sep 1999 – Sep 2000
Institut National des Sciences Appliquées (INSA)
Engineer student
Field: computer science
Sep 1996 – Jul 1999
Institut des Sciences et Techniques de l'Ingénieur de Lyon (ISTIL)
Engineer student
Field: Applied mathematics


Feb 2000 – Sep 2000
"Institut de Recherche en Informatique et Systèmes Aléatoires"
Domain: high-performance distributed computing
Task: dev. of a parallel and distributed application with CORBA and MPI
Technology: C++, CORBA, MPI

Professional work

Jan 2017 – present
Title: senior developer
Domain: geospatial, open-source, 3D (pointclouds)
Language: Python, C, SQL (PL/pgSQL)
Technology: PostgreSQL, PostGIS, QGIS Server, Pandas, Numpy, Docker, Ansible
Open-source: PGPointcloud, GeoAlchemy
Nov 2015 – Dec 2016
Title: senior software engineer
Domain: OpenStack, Kubernetes, Docker, monitoring, infrastructure, cloud
Language: Python, Lua, Golang
Technology: Puppet, Salt, Ansible, Elasticsearch, InfluxDB, OpenStack, Kubernetes
Open-source: OpenStack Kolla
Feb 2007 – Nov 2015
Title: senior developer, technical leader, open-source project member
Domain: geospatial, web, open-source
Language: Python, JavaScript, CSS, HTML
Technology: OpenLayers, jQuery, Ext JS, Google Closure, Pyramid, SQLAlchemy
Open-source: GeoAlchemy_
Aug 2004 – Feb 2007
Sun Microsystems
Title: software engineer
Domain: high availability, system programming
Language: C, Java
Technology: Solaris, Sun Cluster, JMX
Sep 2001 – Aug 2004
Sun Microsystems and UCBL
Title: Phd student
Domain: High performance networking, multi-core and network CPUs
Language: C, Assembly (RISC)
Technology: Linux Kernel, TCP/IP, Network Interface Card

Main computer skills

C, Python, JavaScript
C++, Perl, Golang (to a lesser extent)
Shell (bash, zsh, tsch)
Programming tools
Git, Mercurial, SVN, CVS
gcc, gdb
Operating systems
Linux (admin, user-level and kernel-level programming)
Solaris (admin, user-level programming)
PostgreSQL, SQLite, MySQL, InfluxDB, Elasticsearch
PostGIS, Spatialite
Infrastructure tools
Puppet, Salt, Ansible
OpenStack, Kubernetes, Docker



A new mechanism for Transmission Notification on SMP
Technical report RT-0295, INRIA, May 2004

Packet Classification in the NIC for Improved SMP-based Internet Servers
In Proceedings of IEEE 3rd International Conference on Networking (ICN'04), Guadeloupe, French Caribbean, March 2004
Packet classification in the NIC for improved SMP-based Internet servers
Technical report RT-0285, INRIA, September 2003
Packet classification technical report

Fast forwarding with network processors
Technical report RR-4710, INRIA, January 2003
Fast forwarding technical report

Social and personal skills

(This resume is written in reStructuredText, converted to HTML using rst2html and to PDF using rst2pdf; the idea and tools come from Martin Felix Krafft.)