• english
  • français

Software and embedded systems engineerIngénieur informatique et systèmes embarqués

with both wide theoretical background and strong practical skills, looking for a research & development position in an innovative technological company. avec des bases théoriques solides et des compétences techniques avancées, à la recherche d'un poste d'ingénieur recherche & développement dans une entreprise innovante en matière de nouvelles technologies.

24 ans
French nationalitynationalité française
clement@moussu.fr
permis B

EducationFormation

2008 - 2011 Master of engineeringDiplôme d'ingénieur généraliste, major in computer science and embedded systemsmajeure en informatique et systèmes embarquésmajor in computer science and embedded systemsmajeure en informatique et systèmes embarqués
Telecom ParisTechTélécom ParisTech (ENST)Telecom ParisTechTélécom ParisTech (ENST), Paris - France
One of the leading IT schools in the French "Grandes Ecoles" system.
2009 - 2010 Master of Science in computer scienceMaster of Science en informatique, advanced computing courseparcours advanced computing
Imperial College London, LondonLondres - United-Kingdom - Royaume-Uni
2007 - 2008 Master's degree in electronic engineeringMaîtrise science de l'ingénieur électronique, Signal Systems Image and Robotics courseparcours Signaux Systèmes Image et Robotique, with honorsmention bien
Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI)Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI), Paris - France
2004 - 2007 Bachelor's degree in physicsLicence de physique, applied physics courseparcours physique générale appliquée, with honorsmention bien
Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI)Pierre & Marie Curie UniversityUniversité Pierre & Marie Curie (Paris VI), Paris - France
2004 2004 French science Baccalauréat (high school diploma)Baccalauréat scientifique, minor in physics - chemistryspécialité physique - chimie
Lycée du parc des loges, Evry - France

Professional experienceExpérience professionnelle

BitTorrent, start-up, San Francisco - USA, website
Consumer ElectronicsConsumer Electronics, Software engineerIngénieur informatique
Current employment. Poste actuel.
Gostai, start-up, Paris - France, website
2010 - 6 mois6 months Research & DevelopmentRecherche & Développement, software engineer interningénieur informatique stagiaire
Involved in the development of Urbi's software kernel. Urbi is an open source cross-platform software platform to develop applications for Robotics and complex systems. Worked mainly on the dynamic language, urbiscript, which is part of this platform. Participated in bugfix, implementation of new features, investigations on introducing new paradigms, syntax improvement, optimisation of some structures and development of benchmarking tools. Contribution au développement du noyau logiciel d'Urbi, une plateforme logicielle innovante et open source pour le développement d'applications dans les domaines de la robotique et les systèmes complexes. Travail plus particulier sur le langage dynamique au centre de cette plateforme : urbiscript. Correction de bugs, ajout de fonctionnalités, réflexion sur l'introduction de nouveaux paradigmes, extension de syntaxe, optimisation de certaines constructions, développement d'outils d'analyse de performances...
Institut des systèmes intelligents et de robotiqueInstitut des systèmes intelligents et de robotique, laboratoire de recherche publicstate-run research laboratory, Ivry-sur-seine - France, website, website
2008 - 4 mois4 months ResearchRecherche, research traineechercheur stagiaire
Development of a 3D robotics simulation software using of C++ and OpenGL. Investigation of new energy-based techniques in image processing using Matlab. Développement d'un simulateur robotique 3D en C++ et OpenGL. Investigation de nouvelles techniques de traitement d'image basées sur l'énergie avec Matlab.
Helptrade, start-up, Evry - France
2007 - 4 mois4 months DevelopmentDéveloppement, developer traineedéveloppeur stagiaire
Development of a complaints processing platform for customer care services (Complaint Care Centre). Implementation of a workflow managment tool, creation of customisable environments. Programming in AJAX / PHP and participating in database design. Développement d'une interface de traitement de réclamations client (Complaint Care Center). Mise en place d’outils de gestion de workflows, création d’environnements dédiés personnalisables. Programmation en AJAX / PHP. Aide à la conception des bases de données.
Centre d'étude des environnements terrestres et planétaires (CETP) now called LATMOS Centre d'étude des environnements terrestres et planètaires (CETP) devenu LATMOS, laboratoire de recherche publicstate-run research laboratory, Saint-Maur-des-Fossés - France, website, website
2007 - 2 semaines2 weeks ResearchRecherche, research traineechercheur stagiaire
Accurate orientation computation of a high precision video camera with an inertial measurement unit. Détermination de l’orientation d’une caméra haute précision à l'aide d'une centrale inertielle.
Faceo for Alcatel-LucentFaceo pour Alcatel-Lucent, facility management companysociété de service, Paris - France, website, website
2006 - 1 mois1 month, 2005 - 1 mois1 month Mail service and logisticsService courrier et logistique, handlermanutentionnaire
Handling internal and external correspondence, installing videoconference equipment, performing various office tasks. Distribution et tri de courrier interne, installation d'équipement spécifique, tâches logistiques liées au fonctionnement de l'entreprise.
MGS Promotion, service companysociété de service, Paris - France, website
2005 - 1 semaine1 week Animation in store, demonstratordémonstrateur
Apple iPod Nano demonstration in a specialized store. Démonstrations Apple iPod Nano dans un magasin spécialisé.

ProjectsProjets

Checkout my open-source projects on Github Consulter mes projets open-source sur Github - website
All these projects are work in progress and some of them don't even work yet. But it can give a good clue about what I love doing during my spare time. Tous ces projets sont en cours de réalisation et certains ne fonctionnent pas encore. Mais cela donne un bon aperçu de ce que j'aprécie faire de mon temps libre.
2011 - Implementation of a fully distributed communication protocol for the GLiP/MBLed project Implementation d'un protocole de communication distribué pour le projet GLiP/MBLed - website
The GLiP and MBLed projects were realized by students during the ROSE course (Telecom ParisTech). The hardware, entirely conceived by my predecessors (the GLiP and MBLed teams), is composed of multiple led matrix blocks that can communicate using four IR transducers located on each side. The potential applications are educational games for children. My task was to implement a fully distributed communication protocol based on the RFC3626. To make the debug smoother I was also asked to implement a simulator that allows to test the code without having to flash sixteen devices each time. This simulator, written in Scala and using processing, routes the "virtual" IR trafic across all blocks running several instances of the device code. Only the IR driver is stubbed to allow the rest of the code to be tested in almost-real conditions. Having only a few weeks to do everything I managed to implement the simulator and the whole communication protocol, but there is still a lot more to be done. The source code of this work in progress can be seen here. The GLiP and MBLed projects were realized by students during the ROSE course (Telecom ParisTech). The hardware, entirely conceived by my predecessors (the GLiP and MBLed teams), is composed of multiple led matrix blocks that can communicate using four IR transducers located on each side. The potential applications are educational games for children. My task was to implement a fully distributed communication protocol based on the RFC3626. To make the debug smoother I implemented a simulator that allows to test the code without having to flash sixteen devices each time. This simulator, written in Scala and using processing, routes the "virtual" IR trafic across all blocks running several instances of the device code. Only the IR driver is stubbed to allow the rest of the code to be tested in almost-real conditions. Having only a few weeks to do everything I managed to implement the simulator and the whole communication protocol, but there is still a lot more to be done. The source code of this work in progress can be seen here.
2011 - Conception of a gyropod (Segway) for the ROSE course (Telecom ParisTech) Conception d'un gyropode (Segway) dans le cadre du cours ROSE (Télécom ParisTech) - website
Projet RoseWheel. Travail au sein d'une équipe de quatre personnes pendant dix semaines. Utilisation de la mécanique du projet Zzaag. Choix des composants électroniques adaptés, conception des PCB (schémas, placement, routage), implémentation de l'intégralité du logiciel embarqué à l'aide de FreeRTOS (drivers, filtrage, asservissement, sécurité, contrôle distant), mise en place de procédures de tests. Contrôle distant à l'aide d'une application Android. Le code source est disponible ici. RoseWheel project. Worked in a team of four persons during ten weeks. Based on the mechanics of the Zzaag project. Selection of appropriate electronic components, PCB conception (schematics, placement, routing), implementation of all the embedded software using FreeRTOS (drivers, filtering, feedback control, security, remote control), definition of safe test procedures. Remote control implemented using an Android application. The source code can be found here.
2010 - Co-wrote a tutorial on how to use git - in French Co-écriture d'un tutoriel sur l'utilisation de git - website
As part of the ROSE course in Telecom ParisTech we had to teach our fellows a subject assigned to us. With three other students we presented git and its usage in the form of a tutorial. Dans le cadre du cours ROSE les élèves sont invités à donner eux-même certains cours. Avec l'aide de trois collègues nous avons présenté git et son utilisation sous la forme d'un tutoriel.
2010 - GPU-accelerated optical flow using CUDA, distinguished postgraduate project for year 2010 (Imperial College) Calcul temps-réél de flux optique sur GPU avec CUDA (Imperial College) - pdf
Parallel implementation of multiple optical flow computation algorithms. Began with Lucas & Kanade and Horn & Schunck. Continued with Combined Local and Global variationnal method and its non-linear version. Implementation of multigrid solvers to speed-up solving of large linear systems of equations. The source code can be found here. Parallélisation de différents algorithmes de calcul de flux optique tels que Lucas & Kanade et Horn & Schunck. Implémentation de la méthode variationnelle Combined Local and Global (CLG) et de sa version non-linéaire. Utilisation de méthodes multi-échelles pour la résolution itérative de systèmes d'équations linéaires. Le code source est disponible ici.
2009 - Implementation of Erlang-like processes in FactorImplémentation des processus Erlang en Factor
Erlang processes have the capability to abstract the network and can therefore communicate with each others only using their process identifiers. Factor is a brand new stack based programming language which does not provides these facilities. The goal of the project was to come up with a proposal of implementation. The source code can be found here. Les processus en Erlang ont la capacité d'abstraire le réseau et peuvent ainsi communiquer les uns avec les autres en utilisant simplement leurs identifiants. Factor est un nouveau langage de programmation "à pile" qui ne fournit pas de telles facilités. Le but de ce projet était d'en proposer une implémentation. Le code source est disponible ici.
2010 - Wrote an article about binding and dispatching mechanisms - in French Écriture d'un article sur les mécanismes de liaison - website
As part of the non classical paradigms and languages course I have written an article about binding mechanisms in several languages such as C++, Factor, Ada or LISP. I also mentionned related mechanisms such as unification in Prolog and Erlang. Dans le cadre du cours paradigmes et langages non-classiques j'ai dû écrire un article à propos des mécanismes de liaison ou plus généralement de "sélection de l'opération à effectuer". J'ai couvert le cas de plusieurs langages tels que C++, Factor, Ada ou LISP. J'ai également mentionné des mécanismes similaires tels que l'unification en Prolog ou en Erlang.
2010 - Conception of a remote application to control a submarine drone (junior entreprise studies) Conception d'une application distante de contrôle d'un drône sous-marin (étude junior entreprise)
Some students of the École Centrale Paris and Ponts ParisTech doing the famous ME310 course (mechanical engineering department of Stanford University) had to design an innovative and underwater drone to rescue drowning people. They hired Telecom Etude (the junior entreprise of Telecom ParisTech) to design a GTK-based remote control application for this Drone. I was fully in charge of this study that ended with good results for both students and junior entreprise. The source code can be found here. Des étudiants de l'École Centrale Paris et des Ponts ParisTech suivant le célèbre cours ME310 (département d'ingénieurie mécanique de l'Université de Stanford) avaient pour mission de concevoir un drone sous-marin innovant pour sauver des gens de la noyade. Ils ont passé commande à Télécom Étude (la junior entreprise de Télécom ParisTech) d'une interface de contrôle distant (utilisant GTK) pour leur drone. J'étais seul résponsable de cette étude qui s'est terminée avec de bons résultats pour les étudiants et pour la junior entreprise. Le code source est disponible ici.
2009 - New model of software camera for advanced geometry inspection Nouveau modèle de caméra logicielle pour l'inspection avancée de modèles 3D
Design of a new model of 3D camera. The aim of the ShellCam (idea of Tamy Boubekeur) is to take surface geometry in account to be able to easily inspect complex shapes without any prior knowledge of 3D visualization softwares. A Qt user interface has also been developped to be able to tune the camera parameters. Conception d'un nouveau modèle de caméra 3D. Le principe de la ShellCam (idée de Tamy Boubekeur) est de tenir compte de la géométrie des surfaces pour inspecter facilement des formes complexes sans avoir besoin de maitriser un logiciel de visualisation 3D. Une interface utilisateur a également été réalisée à l'aide de Qt pour pouvoir faire varier les differents paramètres en temps réel.
2009 - Procedural 3D city generation in C++ and OpenGL Génération procédurale de ville aléatoire en 3D avec OpenGL
The goal of this project was to generate a random cities starting from a "land registry" file. Everything had to be random: the textures on the ground, walls, windows, doors, roads, roofs, the number of floors of a building and even the pavement height. Ce projet portait sur la génération aléatoire de villes. Partant d'un simple fichier de "cadastre" tout devait être généré aléatoirement : les textures sur le sol, les murs, les fenêtres, les portes, les routes, les toits, le nombre d'étages des bâtiments et même la hauteur des trottoirs.
2007 - Study and simulation of skin effect in a conductor Étude et simulation de l'effet de peau dans un conducteur
Worked in a group of 4 persons. Using a coil as a magnetic field generator we had to measure and estimate the skin depth in copper cylinders using another coil as a sensor. One cylinder was not enough symetrical to be tested with this method and had therefore to be simulated. Travail dans un groupe de 4 personnes. Utilisant une bobine pour générer un champ magnétique nous devions estimer la profondeur de peau dans des cylindres de cuivres en utilisant une autre bobine comme capteur. Un des cylindres ne présentait pas assez de symétries pour être testé de la sorte et a donc du être simulé.

SkillsCompétences

FieldsDomaines génie logicielsoftware engineering, programmation orientée objetobject oriented programming, programmation fonctionnellefunctional programming, développement dirigé par les teststest-driven development, real-time embedded softwarelogiciel temps-réél embarqué, conception de PCBPCB conception, robotiquerobotics, informatique graphiquecomputer graphics, traitement d'imageimage processing, vision par ordinateurcomputer vision, physiquephysics andet gestion de projetproject management
Mastered languagesLanguages maîtrisés C, C++, Python, Javascript, Java andet Bash
Explored languagesLangages explorés Scala, Prolog, Haskell, Factor, Ada, Lua andet Urbiscript
VariousDivers GNU/Make, Autotools, Boost, Git, CUDA, Qt, GTK, OpenGL, Android, jQuery, Redmine, Processing andet Arduino
Operating systemsSystèmes d'exploitation GNU/Linux (Archlinux, Ubuntu), FreeRTOS, Apple Mac Os X andet Microsoft Windows

LanguagesLangues

FrenchFrançais native speakerlangue maternelle
EnglishAnglais fluent, TOEFL Internet-Based Test 92 out of 120, studied one year in London, currently living in San Francisco. courant, TOEFL Internet-Based Test 92 / 120, un an d'études à Londres, habite actuellement à San Francisco.
GermanAllemand intermediate level (ALTE A2)niveau intermédiaire (ALTE A2)

InterestsLoisirs

RoboticsRobotique Member of the Telecom Robotics society. Involved in software and vision teams (2008 - 2009). Participated in the Eurobot Cup in France in May 2009. Ranked 16th out of 128 teams. Membre de l'association Télécom Robotics. Impliqué dans les équipes logicielle et vision (2008 - 2009). Participation à la Coupe Eurobot en mai 2009. Équipe classée 16ème sur 128.
MusicMusique Played piano and electric guitar in several Jazz bands which performed in paid gigs. Interested in recording equipment and computer-assisted music. Pratique du Jazz, a joué du piano et de la guitare électrique dans des groupes. Performances rémunérées. Interêt pour le matériel d'enregistrement et la MAO.

ReferencesRéférences

  • Checkout my LinkedIn profile.Consulter mon profil LinkedIn.
  • Available upon request.Disponibles sur demande.