24 chemin Jaqui
MS in Computer Science, Université de Technologie
France, 1989. Special mention in Artificial Intelligence.
- Passionate architect and developer. Deep analytic and synthetic
mind, finding robust creative solutions to complex problems.
- Highly knowledgeable in open source dynamics, member of the Apache Software Foundation.
- Good communication skills as mentor, trainer and team leader.
Speaker at international conferences, cofounder of the Toulouse JUG.
- Interested in mixing art and technology, member of the Toulouse hackerspace.
- Everything Java, from clusters to phones, from high-level
distributed archictectures to low-level debug and optimization.
- HTTP and all its uses: scalable systems, caching proxies, REST
content negociation, etc.
- SQL and NoSQL systems: MySQL, Hadoop, MongoDB, JPA and homegrown
- Search engines: used Lucene in many different contexts such as search, dynamic ad serving, music taste matching, etc.
- Hands on experience in system operations on Linux servers, and what it means for the software design.
since november 2010
Freelance architect, technical expert and developer. Many expert consulting missions, and some major projects:
- Sigfox - a M2M network operator
- Architected and led the development of the central servers that manage all aspects of the network. Started the development, hired and led a team of 6 people.
Key technologies: JEE, Spring, MongoDB, clustering, Hazelcast, Apache, Ubuntu
- TEcoutesQuoi - a dating website based on music taste affinity
- Architected and led the development of the entire system, based
on correlating Facebook likes with a music metadata database to compute
Key technologies: PlayFramework, ElasticSearch, MongoDB, Hazelcast, jQuery
april 2008 - october 2010
Goojet is a mobile social media, allowing users to discover and share
news and content on their phone in a rich
Key technologies: JEE, Spring, Velocity, HTML & CSS, MySQL
replication, Lucene, Apache, Ubuntu, Android, iPhone, J2ME
- Chief Technology officer, april 2008 - october 2010
- Overall system architecture and technological choices for a
horizontally scalable system.
- Developer of critical low-level components.
- Member of the operations team for a 10 servers cluster.
- Mobile applications team leader, april 2008 - october 2010
- Developing and driving the development of mobile
application on J2ME, iPhone and Android. The J2ME application is a
hybrid client/server HTML browser that has been successfully
validated on more than 400 handsets.
2006 - march
Joost is the IP-TV company created by the founders of Skype.
Key technologies: RDF, Spring, Hadoop, Lucene, REST, MySQL, Wicket,
- Backend systems architect and engineering team
leader, march 2006 - march 2008
- Architected and designed the backend from the ground up, with
scalability constraints to handle dozens or millions of users:
- the metadata harvester/indexer and search engine based
- the advertising engine and advertising campaign
- user activity analysis and reporting services using the Hadoop
distributed filesystem and parallel processing framework.
- Leading a team of 16 developers at Anyware Technologies
(see below) developing Joost's backend, and working in an
international environment (US, UK, NL).
Co-founded of the company in 2000, growing it up to 80 employees
until it was sold in 2008 for 12 M€ to Wavecom (now Sierra Wireless).
We started as a Java/web/XML technology company for IS projects, and quickly found
out it could be the basis of a new kind of products in the industrial
automation and machine-to-machine domains.
HTML & CSS, J2ME
- Chief Technology Officer
- Originated the initial ideas and prototypes of many
- Technology watch, analysis and recommendations.
- Expert consultant and trainer
- Expert consultant for Java, web and XML technologies
for customers and internal projects.
- Trainer for Apache Cocoon and XML technologies (about 150
- Teamed up with sales people to set up the marketing
material and during pre-sales meetings with prospects.
- Product initiator and architect. Among others:
a web-based monitoring and control application for PLCs
and factory automation devices. Connects to the devices to animate
process state in real time using AJAX, SVG and Flash.
dev suite: an embedded webservice server that runs in the PLCs
rather than on a separate
server, on J2ME virtual machines. Uses a homegrown 70kB servlet engine
and bytecode shrinker.
- Project development
Involved in many web application projects related to
information systems and content management, requiring aggregating data
from multiple sources, complex user interaction, and multi-format
publishing. Among others:
- Meta search engine: translation of user
requests into queries for SQL and Lotus Notes databases, indexed
repositories, etc. Parallel query execution and clustered presentation
of aggregated results in HTML and PDF
documents are stored as XML in a versioned repository, and converted
to/from HTML, OpenOffice and MS Word to allow content editors to choose
their preferred way of writing content. After a validation workflow,
documents are published in HTML and PDF.
As part of my work at Anyware Technologies and because of
personal interest, got heavily involved in this well-known open
- Vice President, 2003 - 2006
- Chair of the Apache
Cocoon project. Responsible for
between the Foundation's board and the project.
- Member, since 2002
- Mentor for several new Apache projects: Wicket, a
component-oriented web application framework, Felix,
implementation of the OSGi
reference implementation of the Java Content Repository API, Shindig, an OpenSocial container.
- Member of
the Java Community Process expert group for JSR-283
(JCR version 2).
- Interviewed by several French IT magazines about
- Committer, since 2001
Core developer of the Cocoon
project, a Java web application framework using XML
transformation pipelines to produce a large range of output formats.
Noticeable contributions, among many others:
- Main developer of the form
handling subsystem, featuring
declarative definition of complex forms and field validation, with Ajax
support for immediate user feedback.
- Maintainer of the Flowscript
engine, a web application
of the internals of the Rhino
- Wrote interpreters for a number of XML-based languages,
including Cocoon's pipeline
Space Industries (now Thales),
1990 - 2000
Key technologies: Java, UML, C++, Ada, TCP/IP, Python, Prolog, X11/Motif
- Architect, R&D team manager, 1997 - 2000
- Lead architect of a number of reusable components for
satellite control systems, managed a team of 6 people.
- Developed a transparent object persistence system for
distributed applications in Java: byte-code instrumentation to detect
change, distributed transactional cache using RMI
or CORBA, and delegation of database operations to DAOs (that
pattern wasn't named at that time).
- Intranet Webmaster, 1995 - 2000
- Set up the very first HTTP server in the company to promote
- Wrote a web-based issue tracking system using
an early version of Zope (Python).
- Software developer and project manager, 1990 - 1997
- Ground station monitoring and control system (5
people, Japanese customer): architecture, development of
a fail-safe network communication library in C++ for a
- Satellite mission planning system simulator (4 people):
architected the project, and wrote the simulation engine (in Ada), for
a GUI written using X11/Motif.
- Wrote a code generator in Prolog to allow fast
design/code roundtrips using the HOOD
Selected Publications and Presentations
Source Software: risk or opportunity? - Embedded Realtime Software
Congress - January 2006, Toulouse, France
- Cocoon Forms
and AJAX - Cocoon
GetTogether - October 2005, Amsterdam, The Netherlands
and flowscript: webapps made easy with Cocoon - Cocoon
GetTogether - October 2003, Ghent, Belgium
running Cocoon in unusual places - Cocoon GetTogether -
October 2002, Ghent, Belgium
Objects Management in Ground Systems Software with Paloma
DASIA - May 2000, Montréal, Canada
the use of the HOOD Virtual Node concept for easy integration
of multiple technologies in complex systems - Ada in
Europe - October
1995, Frankfurt, Germany