Menu

Vincent COUBARD

MONTPELLIER

En résumé

Depuis déjà 8 ans, je travaille à la création de produits innovants en m'appuyant sur mes compétences en informatique et en électronique.

Je suis capable et j'aime collaborer au design matériel des appareils afin d’assurer la synergie entre logiciel et matériel, optimiser les coûts composants, réduire les temps de développement logiciel et assurer la qualité produit.

Je m’adapte très rapidement à de nouvelles contraintes matérielles, de nouvelles plateformes de développement, de nouveaux délais, de nouvelles technologies. Je suis capable de coordonner le développement logiciel avec le développement électronique et les impératifs de production.

Mobile, je résous des problèmes d’intégration autant en interne que chez le client ou encore chez les sous-traitant, à l’internationale.


Champs de compétences :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
• Développement logiciel intégré
• Intégration matériel/logiciel
• Analyse composants électroniques
• Écriture, suivi et évolution de spécifications logicielles
• Planification développement logiciel
• Conception UML, modélisation objet et design pattern
• Écriture de tests unitaires/ tests fonctionnels
• Programmation système
• Programmation asynchrone
• Programmation réseau
• Programmation multithread
• Meta programmation
• Programmation fonctionnelle
• Maintenance de système d’information de développement, de système de build


Compétences techniques :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
• Architecture : x86, x64, ARM, MIPS, MSP430, 8051, Super h
• Microcontrôleur : TI cc2540, TI MSP430, STi7105, Ralink rt3052, Atheros 9331, AllWiner A10s, Atmel AT91sam7s, PIC microchip
• Réseau sans fil : Bluetooth classic, Bluetooth Smart, WiFi, Texas Instrument simplicity
• Plateformes logiciel : POSIX, Linux, uboot, Android, Java EE, développement de systèmes d’exploitation dédié aux environnements les plus contraints
• Outils de développement : Make, GCC, GDB, LLVM, vim, sublime text, notepad++, eclipse, Maven, IAR, Keil μVision
• Langages : C, C++, C++11/14, Java, Lua, Python, PHP, Javascript, Haskell, ASM
• Bibliothèques/Framework : STL, Boost (MPL, fusion, phoenix, spirit, asio, filesystem, ...), ZeroMQ, libuv, libev, libevent, glibc, Qt, Spring.
• Outils de tests : Google test, Google Mock, Unity, CppUnit, Junit, Mockito
• Contrôle de version : GIT, SVN, CVS
• Intégration continue : Buildbot, Jenkins/Hudson
• Documentation : LaTeX, doxygen, sphinx reStructuredText, Markdown, Graphviz


Parcours Universitaire :
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
A l'issue d'un bac S sciences de l'ingénieur, j'ai obtenu un DUT en Génie Électronique et informatique industrielle à l'IUT de Nîmes.

Mon stage de fin de DUT m'a permis de travailler dans un bureau recherche et développement. J'ai été employé au développement de la partie informatique embarquée.

En licence EEA (Électrotechnique Électronique Automatique), j'ai continué une collaboration étroite et de plus en plus autonome pour ce qui est des solutions informatiques à apporter aux produits en cours de développement. Cette latitude de travail m'a amené à m'intéresser concrètement au génie informatique.
En fin de Master I EEA, j'ai décidé de changer de cap : l'informatique correspondait mieux à mes attentes professionnelles.

J'ai obtenu un Master II d'informatique option intégration de compétences.
Cette formation m'a permis d'élargir mon champ de vision et de compétences en informatique, bien au-delà de l'informatique embarquée.

Ma curiosité et l'autonomie acquise en travaillant dans un bureau d’étude m'ont incité à consolider et à étendre mes connaissances aux technologies et aux méthodes de développement d'aujourd'hui.

Mes compétences :
C
Java
C++
Android
Haskell
Linux embarqué
Lua
Shell
Makefile
Programmation orientée objet
Git
Bluetooth
Informatique embarquée
Microcontroleur
Design Patterns

Entreprises

  • ARM - Senior Embedded software engineer

    2015 - maintenant
  • AWOX - Ingénieur Informatique Embarquée

    Montpellier 2011 - 2015 A participé au développement de plus d’une dizaine de produits connecté dans des petites équipes composées de 1 à 4 ingénieurs. Développeur, intégrateur puis responsable logiciel des projets qui lui ont été confié, a toujours mis en concurrence technologies, outils et méthodologies dès l’inception des projets afin d’augmenter la qualité et la fréquence des livrables, diminuer le temps de développement, réduire les couts de maintenance, capitaliser sur le travail produit et contenir la dette technique et technologique.

    A apporté les méthodes de développement dirigé par les tests (TDD). A fait évoluer certaines parties du système de gestion de version de SVN vers GIT afin d’avoir des workflow plus efficaces et accélérer l’intégration de nouvelles fonctionnalités. A mis en place de bonnes pratiques logicielles : inversion de contrôle, utilisation de machines d’états, des design patterns, de composantes de la programmation générique et de la programmation fonctionnelle. A développé de multiples briques de bases logicielles en C, C++ et Java afin d’améliorer la productivité des équipes. Ces briques contenaient entre autre un framework de machine d’état compatible UML, un middleware de messaging, un framework d’acteur ou bien encore une couche d’émulation c++11 pour compilateur c++98. C’est déplacé de nombreuses fois à l’international : Chine, Danemark, France, pour assurer le support et l’intégration des produits.


    2014 – Création d’éclairage hybride, intelligent et connecté :

    A participé au développement de 4 ampoules connectées AwoX : AromaLight, StriimLight Wifi couleur, StriimLIGHT couleur et SmartLight. A joué un rôle technique décisif dans l’élaboration de ces produits contrôlés par Bluetooth Classic et Bluetooth Smart. A écrit les spécifications logicielles, les API de contrôle. A conseillé et suivi de près la réalisation et l’intégration de ces spécification auprès des équipes chargée de les implémenter dont une localisée en Chine. A écrit des applications Bluetooth Smart sur puce TI CC2540 (architecture 8051) et sur puce TI CC2564 au travers de Linux. A assuré la certification logicielle des produits Bluetooth Smart AwoX.


    2013 - Le Bloc – Orange :

    Pico Projecteur sous Android et enceinte Bluetooth nomade et connecté ayant remporté le prix du meilleur service de divertissement dans la catégorie Transport et Mobilité du premier trophée des objets connectés. Sur plateforme Android (AllWinner A10S – ARM), a écrit les spécifications logicielles du contrôleur de gestion matériel et supervisé sa réalisation par l’équipe chinoise en charge de les intégrer sur une MCU. En Java, sur l’hôte, a écrit le service de gestion matériel. A également supervisé et participé à l’écriture d’un serveur local d’exposition de contenu multimédia (Deezer, service de télévision d’Orange, média locaux) compatible UPnP/DLNA (DMS) en C++.


    2012 à 2013 – Set-top-box avec service de VOD :

    Réalisation de trois set-top-box : DMP pour Orange (jamais sorti), MoveeBox pour Scanavo, FOX pour Metronic avec intégration des services VOD et services de sécurisations de flux adaptés au client. Sur une plateforme Linux avec un microprocesseur ST7105, a intégré les services de VOD de plusieurs clients dans le browser WebKIT et participé à la sécurisation des flux vidéo avec différentes technologies : Windows Media DRM10, Microsoft PlayReady, DTCP. A participé à la sécurisation logicielle et matérielle : signature de l’intégralité de la chaine logicielle du bootloader aux mises à jours logiciel et hardening linux. A écrit des tests de validation usine et des instructions de flashage à destination des industriels.


    2011 - AwoX Mozart II :

    Mise au point de la plateforme matériel et logiciel Mozart II, AwoX utilise ce module dans les produit StriimLINK, StriimSound, StriimLight WiFi, StriimLight WiFi Couleur. A développé de nombreux drivers en C pour Linux et U-Boot. A écrit des tests de validation usine. A prototypé une radio internet.
  • SMARTIO - Analyste programmeur

    2006 - 2010 En parallèle de ses études, a travaillé ou fait des stages dans la société Smartio Systems sur une durée totale de 26 mois. Ces missions étaient orienté développement informatique très bas niveau sur des produits destinés au monde médical.


    Audit des méthodes de développement (2010) :

    Stage de fin d’étude ayant pour objectif d’améliorer la gestion des projets informatiques Études des méthodologies RUP et SCRUM et leur applicabilité. Etudes du TDD (Test Driven Development), etude du BDD (Behavior Driven Development). Comparaison d’outils de suivi de projet (Redmine, TRAC, JIRA) et mise en place d’un server Redmine.


    Papoo Pilot (2009-2010) :

    Dispositif de pointage (souris) sous forme de casque sans fil, à destination des tétraplégiques. Sur board de type MSP430, a écrit en C un micro système d’exploitation non préemptif et un framework de machine d’états. A écrit les drivers du systeme. Au-dessus du protocole TI Simplicity, a écrit un middleware de messaging utilisé pour l’intercommunication entre le casque sans fil et son dongle USB. A fais du Head Tracking à l’aide d’un gyroscope et d’un accéléromètre. A optimisé au maximum la consommation électrique du système à
    l’aide d’un design 100% asynchrone.


    Papoo (2006 – 2008) :

    Outils d’aide à la communication à destination des aphasiques A écrit le BSP du prototype et l’a fait évoluer vers le design final de l’appareil, sur architecture ARM. A écrit de multiples drivers : SD-Card, Ecran LCD/OLED, LED, Bouton capacitifs, Joystick, capteur infrarouge, USB-CDC (Communication Device Class), USB-MSC (Mass Storage Class), NAND-Flash, contrôleur audio. A intégré le système de fichier FAT. A écrit le système de build avec GNU Make et Bash. A migré le projet de CVS vers SVN. A refactorisé le projet afin de le modulariser. A créé un système de test industriels. A spécifier un protocole permettant la communication entre l’appareil et un ordinateur. Conception et écriture d’un protocole de tests et d’un protocole de mise à jours au-dessus de ce protocole de communication.


    Chronologie :

    • 2006 => Stage de fin de DUT GEII (3 mois) puis emploi CDD (2 mois ½)
    • 2007 => Emploi CDD (4 mois)
    • 2008 => Stage MASTER 1 ÉLECTRONIQUE (4 mois)
    • 2008 => Emploi CDD (2 mois)
    • 2009 => Emploi CDD (4 mois)
    • 2010 => Stage MASTER 2 INFORMATIQUE (6 mois)

Formations

Réseau

Annuaire des membres :