Work Experience
Senior C/C++ Software Engineer
Development of a real time X-ray imaging application for an interventional radiology system using the VxWorks operating system.
Achievements
- Write software requirements and technical documentation.
- Design and develop C/C++ software application in a real time VxWorks environment.
- Write and execute automatic unit tests and functional tests.
- Participate in technical and code reviews.
- Test and monitor software robustness and enhance code reliability.
- Participate in Scrum meetings and plan activities and delivries according to the Agile framework.
Technologies
- C
- C++17
- VxWorks
- CORBA
- GCC
- Clang
- CMake
- Java
- Maven
- TCP/IP
- Socket
- CANOpen
- SNMP
- Driver
- Git
- GitLab CI
- CppUnit
- GoogleTest
- Cucumber
- SonarQube
- Ansible
- Agile
- Scrum
C/C++ Software Consultant
Migration of a legacy X-ray images acquisiton application to a new hardware and software platform based on VxWorks real time operating system.
Achievements
- Develop a low level driver and software abstraction layer to interact with the system physical devices.
- Redesign and migrate the high level C/C++ application code to the new platform.
- Add automatic unit tests using the CppUnit framework.
- Automate the build, test and delivery using a continous integration infrastructure.
- Monitor and enhance code quality and reliability.
Technologies
- C
- C++11
- VxWorks
- CORBA
- GCC
- TCP/IP
- Socket
- Driver
- CAN
- ARCNET
- Fiber Channel
- Maven
- Git
- GitLab CI
- CppUnit
- Cppcheck
- Coverity
- Eclipse IDE
- Agile
- Scrum
Reseach and Development Engineer
Internship at ETIS laboratory to develop a software and hardware artificial vision architecture for a robot.
Achievements
- Contribute to the design of the RobotSoC artificial vision architecture.
- Integrate the image processing VHDL modules on a Zynq-7000 SoC board.
- Configure and build a custom embedded Linux distribution using Buildroot.
- Develop a C server application to control the image processing chain in an embedded Linux environment.
- Develop a Qt client applicaton to visualize the processed images in real time.
Technologies
- C
- C++
- VHDL
- Python
- FPGA
- SoC
- ARM
- Embedded Linux
- Buildroot
- U-boot
- Yocto
- Zynq
- Xilinx Vivado
- TCP/IP
- Socket
- Qt
- RS232
- JTAG
Real Time Embedded Software Engineer
Internship at the Regional Center of Drone Resources to develop a real time autonomous fligh control system for a quadrotor civil drone using FreeRTOS.
Achievements
- Study the software and hardware architecture of the Armazila board.
- Develop a low level driver to control the brushless motors.
- Design and build a printed circuit board embedding a GPS chip and a telemetry interface.
- Integrate an ultrasonic distance sensor for smooth autonomous landing.
- Develop autonomous flight mechanisms using geolocated waypoints.
- Conduct flight tests in real conditions at the Regional Center of Drone Resources.
Technologies
- C
- C++
- FreeRTOS
- STM32
- ARM
- I2C
- GPS
- RS232
- Eclipse SDK
- Eagle
Projects
Red Pitaya
Development of a user interface to control the Serial Peripheral Interface on the Red Pitaya multifunction measurement board.
Achievements
- Configure and build a custom Linux kernel dedicated to the Xilinx Zynq-7010 SoC.
- Develop a C embedded Linux application providing a low level control over the SPI interface using the SPIDEV driver.
- Configure and deploy the application backend using an embedded NGINX server.
- Allow transferring data between the NGINX server and the Linux application.
- Build a web client interface providing a high level control over SPI.
Technologies
- C
- C++
- VHDL
- Embedded Linux
- Linux kernel
- Driver
- Xilinx Vivado
- Zynq
- FPGA
- SoC
- ARM
- SPI
- HTTP
- NGINX
- HTML
- JavaScript
Artificial Neural Network on FPGA
Simulate different information flow strategies within an artificial neural network on FPGA.
Technologies
- Linux
- VHDL
- FPGA
- Altera Stratix V
- ModelSim
- JTAG
- AER
Homelab
Provision, configure and deploy containers, virtual machines and services in a Proxmox Virtual Environment using Infrastructure-as-Code.
Technologies
- Ansible
- Packer
- Terraform
- Proxmox VE
- Debian
- CentOS
- QEMU
- LXC
- PXE
Workstation
Automate the installation and configuration of a Linux workstation using Ansible.
Technologies
- Ansible
- Linux
- ArchLinux
- YAML
- Jinja
- OpenSSH
- Systemd
- Xorg
Skills
Programming
- C
- C++17
- Python
- VHDL
- Java
- TCL
- Qt
Real-time systems
- VxWorks
- FreeRTOS
Linux
- Debian
- Ubuntu
- CentOS
Build tools
- Git
- GCC
- Clang
- Make
- CMake
- Maven
- Vagrant
Embedded Linux
- Buildroot
- U-boot
- Busybox
Architectures
- x86
- FPGA
- ARM
- RISC
- SoC
- STM32
DevOps
- Ansible
- Docker
- Packer
- Terraform
Education
-
MSc Electronics and Embedded Systems2015
-
MSc Research in Electronics and Autonomous Systems2015
-
Two-year intensive program in mathematics and physics preparing for the national competitive exam for entry to the French Grandes Écoles2012
Languages
- English (Proficient)
- French (Native)