Martin DUVANEL-
Single
Swiss
Rue Couchirard 4
1004 Lausanne
--
In a nutshell
Passionate software developer with 15 years of professional experience, I have worked at different levels
of very small up to big size projects (> 1 million lines of code): user-interface (Web and native), networking
in client-server or 3-tier architectures, data processing algorithms and drivers on embedded systems
(multithreading, real-time OS, fieldbuses).
I have developed excellent bug-fixing and systems thinking skills over the years, and I am highly
motivated by technical challenges. I have 4+ years of experience in Agile (Scrum) development and at
ease with modern development tools and practices : Git, unit testing, sytematic code reviews, continuous
integration and delivery pipelines, DevOps mindset. Curious and fast learner, I quickly adapt to new
methodologies and technologies.
Having worked in various companies and work cultures, I have acquired excellent interpersonal and
communication skills. I am perfectly at ease in a diverse, multicultural team and I love to learn as much as
I love to teach. I strive in an organization where collaboration and learning happens every day, and where
my team is empowered to take ownership of the product or project it is working on.
Professional Experiences
May 2017 - Now
Software consultant for ELCA Informatique SA. Projects in the transportation
industry for different customers:
Backend engineer for a real-time Traveler Information System used by several
public transportation companies (CMake, C++, Python, Bash). Project
management for a customer's customer, including design and implementation.
Technical leader for the migration of a legacy mainframe/DB2 based 3-tier
software system to an Oracle/Linux/Docker/OpenShift architecture (C/C++,
Cmake, Conan). Design and setup of the complete build pipeline as well as the
release and deployment processes, onboarding and mentoring of a junior engineer
in the team, performance optimization.
February 2015 April 2017
Senior Software engineer for Cisco Systems. Member of the Scrum team
maintaining the IP-SLA feature across multiple Cisco OSes, used for probing an
endpoint (router) and getting statistics regarding endpoint reachability and timing
using various protocols (ICMP, UDP, TCP, DNS, etc.).
Focused on bug fixing and test automation to improve test coverage. Working on
both unit testing in C++ and component testing in Python, as well as adapting the
continuous integration server (Buildbot) for testing new platforms.
May 2011 –
January 2015
Software engineer for Kollmorgen SA. Architecture and development of a new
real-time automation controller and its Integrated Development Environment (IDE)
in an Agile (Scrum) environment. The project was developed by 3 Scrum teams
located in the USA, India and Switzerland.
Mentor for new members of the team in India, focusing on the following aspects :
code quality, good practices, coding conventions, unit testing and knowledge
sharing on the product and codebase.
Work on all aspects of the product: GUI development (C++, Qt, MVC), network
communication between controller and IDE (TCP/IP), embedded webserver
interface (HTML, jQuery, JSON) front-end processes on the controller (HTTP
server with REST architecture, LED display) and real-time processes (Motion
engine, EtherCAT fieldbus communication, low-level drivers).
Strong focus on software quality through a personal and team code review
process, use of multiple testing frameworks for automated testing: unit testing,
functional testing, HTTP interface testing and script testing. Integration of several
of these testing frameworks in the continuous integration tool (CruiseControl).
Scrum Master for the swiss team during 5 months, I became a Certified Scrum
Master (CSM) in 2014.
November 2008
– March 2011
Research assistant at the « Laboratoire d’Algorithmes et de Systèmes
d’Apprentissages » (LASA) at the EPFL.
Main developer of an audio/video recording software for a gaze-tracking device
developed in the laboratory (C++): migration from a prototype to a robust,
configurable and optimized application.
Developer of a real-time object tracking software (position and orientation), with a
pair of high-speed cameras using C++ and OpenCV library.
January 2004 –
September 2008
Software developer at VisioWave Sàrl. Various software development activities in
a R&D team of ~40 people. Active in the following projects/roles:
Main developer for a web-based configuration tool for the VisioWave devices
(PHP, Javascript, SQL). Update of configuration parameters + handling of retrocompatibility for each new software version, with handling of complex configuration
rules for hundreds of devices.
Main developer of an automated audio/video data collection software, for
centralizing the content of recorders inside buses (C++, SQL, PHP, Javascript):
specification and complete implementation of the software, including deployment
package and build system integration, bug fixing and support.
Personal projects
2011 - 2013
Game development on Android platform (Java/Eclipse) - unfinished
Studies
1998 - – 1998
MSc in Computer Science at the Swiss Federal Institute of Technology (EPFL)
Gymnase Cantonal de La Chaux-de-Fonds, Federal Maturity in Science
Technical skills
Programming languages
Development environment
Continuous integration/DevOps
Web and networking
Databases
C/C++, Python, Bash, Java, C#, Javascript
VisualStudio, Clion, Eclipse (Java/C++), Emacs/CMake/GCC
SVN, Git, Jenkins, Docker, OpenShift, Splunk
TCP/IP, HTTP, HTML, XML, JSON, REST architecture
MySQL, Oracle
Languages
French
English
German
Mother tongue
Fluent, written and spoken. 10+ years working in mostly English-speaking companies
B1-B2 level, occasionally written and spoken in a professional environment