As an independent, I can work both on-site with your teams for more collaboration or remotely for projects requiring stronger focus. In my experience, what works best is a subtle combination of both styles. I deeply value mutually beneficial relationships. Want to read what those benefits are?
By working together, you can benefit from: - solid experience in Unix, C/C++, Python and Lua to deliver robust and maintainable software; - know-how in ARM and AVR microcontrollers, mainly Cortex M4 and ATmega32 families; - good experience with network protocols like TCP, UDP, HTTP, MQTT, mDNS and BLE; - profound knowledge of OO design principles, State Machines and TDD; - partisan of Continuous Delivery (CI/CD) with Test Benches from the first place; - proficiency in building and debugging complex systems in a collaborative environment; - strong UX and design sensibilities with eagle-eye on details; - sharp focus, positive attitude, empathy and a desire to continually learn.
On the other hand, I can benefit from: - engineering experience and technical skills from your teams; - discovery of new working styles, habits and processes; - shared quality time with co-workers and social interactions.
Evolving as a technical leader and software architect of the core applicative layer, within a team of 6 people, was a tremendous experience to live. The responsibilities to endorse were very challenging, both from technical and human points of view. Want to discover what these challenges were?
In terms of project management, as a technical leader, my missions were to: - manage the project features following Agile Methodology with Jira and Gitlab; - schedule work and switch focus between product features and software improvements; - iterate with the product team about upcoming features and translate them to work packages; - make sure the team was learning collectively but remained committed to the project's aims; - push for peer to peer coding and reviewing sessions for faster and more robust development; - delegate and trust coworkers to stay focused and what mattered the most—to make our engineering team a little better every day!
In term of engineering, as a software architect, my missions were to: - evaluate the technical debt to be tackled aside from developing user features; - evaluate the feasibility and costs of product features with the product team; - evaluate the importance and urgency of developing internal tools and maintaining quality; - design and maintain middleware and applicative components along with tools; - design and maintain communication protocols with Mobile Apps & Backend Services; - pay strong attention to code quality with coding standards and code reviews; - engage the team on software quality with Continuous Delivery (CI/CD) in mind.
As I like to take part in the company's bigger picture, I engaged in the evolution of development processes, internal structure, and recruitment of new engineers as the company was growing to cover feature needs.
Being a software engineer at Sevenhugs brought me a lot. I grew from junior to intermediate quite quickly given the number of challenges to overcome in a very short time. We had to go fast and high to deliver a minimum viable product for our first beloved customers that backed us on crowdfunding platforms. Want to know what Sevenhugs is building?
My main responsibilities were to: - collaborate in the development of the applicative and middleware layers, from a prototype to a minimum viable product; - focus, on one hand, on the SDK and its simulator for both internal and community usages; - shape, on the other end, the core layer building blocks that will later compose features; - proactively push for engineering tools and automated tests for faster development cycles, a more robust code base and easier architectural pivots.
In term of engineering, on one hand, the Smart Remote embeds an STM32 microcontroller with a custom made object-oriented OS; on the other hand, the Desktop Simulator (Linux & macOS) shares the same applicative layer with an adapted middleware to cope with Unix specificities. The scopes I was involved in are: - middleware components developed in C and C++ as abstraction layers for higher-level; - applicative components developed in Lua as both core and user-facing features; - communication protocols with Mobile Apps & Backend Services with REST and MQTT APIs; - internal tools for Prototyping, Debugging and Continuous Development in Python; - software quality with Unit Tests plus Integration Tests with Docker and Gitlab CI; - debugging software with the Black Magic Probe using a JTAG or SWD port and the GNU source level debugging software, GDB.
In the end, I learned a lot from senior engineers and architects on how to design, develop, test and debug embedded software, and I'm very grateful to them for this knowledge sharing.
During my 6-months graduating internship, I had the pleasure to join GoPro in Zurich, Switzerland. It gave me the opportunity to strengthen my skills in Robotics, particularly in the Aerial Industry. I am grateful for having the chance to meet so many wonderful people and professionals who led me through this internship period. Keen to know why GoPro?
As a short intro, GoPro was seeking a top tier candidate for an Embedded Software Developer role. I was not that passionate about UAVs before joining but I thrive in a high growth, fast-paced and constantly changing environment. I proved to be a versatile team player, who could problem-solve and facilitate progress through a range of topics.
As an intern, my main responsibilities were to: - build a versatile development environment and test bench to easily and quickly evaluate new sensors and new algorithms independently from the hardware architecture being used in production. This stack would serve as a proof of concept and would allow the managers to present future alternatives and benchmarks to GoPro’s top executives; - deliver a calibration software to be used on the factory assembly line. It aimed to calibrate a device composed of several cameras and an Inertial Measurement Unit (IMU) by solving a Non-linear Least Squares optimization problem. By leveraging the PCB design and a tagged checkerboard, one can obtain reasonable first extrinsic and intrinsic guesses to feed the optimization problem with; - design a Continuous Integration platform using Jenkins linked to Github repositories so the team can practise Test Driven Development.
Main technical components involved during these six months were C++ and Python with ROS and PX4 respectively for the software and hardware stacks.
During my 6-months study break, I had the chance to work at Prefer for a 2-months contract. I am very thankful to the team for accepting me, without knowing me, for such a short time, and for sharing with me their good practices as a web development agency. Interested in what I did?
My first mission concerned the Tutrust application based on Zend Framework, I : - added Unit Tests to the application for the most critical parts; - automated the specific-environment configuration based on environment variables; - created an out-of-the-box development environment with Vagrant; - set up Continuous Integration thanks to Travis-CI and Codacy.
Then a second mission was to take the lead on the design, development and deployment of an API based on Lumen (Laravel micro-framework) and Dingo. There, I learned a few key skills like: - Project Management; - REST API design; - Test-Driven Development.
As a freelance firmware developer, I had the opportunity to work again with Equisense on the Motion tracker. The development was made with GNU ARM Embedded, Eclipse IDE with OpenOCD and SEGGER J-Link. The Firmware was based on a Cortex M4 processor.
On one hand, at the drivers level, I could work with the following key embedded communication interfaces: BLE, UART, PWM, ADC and SPI. On the other end, at the application level, I had to develop a few software units to be embedded: UI with LED, Application State Machine, Scheduler and Battery Management.
Initially, the development board was an STM32F4-Discovery by STMicroelectronics but we quickly jumped to the nRF52 SoC by Nordic Semiconductor because it offers a Bluetooth stack with standard profiles to leverage.
Heudiasyc Lab, UTC's laboratory on ADASMarch 2015 - June 2015
As part of a UTC's course, we developed an embedded system that turned a customized Renault Zoé into an autonomous vehicle on a private circuit. Two people were in the vehicles to operate: the safety driver who should not take back control too often and the operator who launched programs and monitored the system.
The sensors were: - a multi-beam lidar; - a northernmost GPS receiver dual antenna; - a CAN bus
Software components included: - Pacpus Framework (developed by the UTC's Heudiasyc Lab) - Input Components: - GPS, CAN, lidar, circuit map - output components: - CAN interface with the Micro-autobox
I developed the localization module with state estimation based on IMU, GPS & odometry data. A second role was to sanitize theGeo-referenced map and work on the map matching module leveraging.
Autonomous Renault Zoé by Heudiasyc * The UTC's laboratory on AI and Robotic * UNIVERSITY PROJECT * Developed the localization module with state estimation based on IMU, GPS & odometry data * Sanitized the map matching module leveraging the Geo-referenced map of the circuit's segements * Worked with C++, Qt, Scilab, Pacpus, GeoDB SQLite, GPS, IMU and CAN bus
Facebook Jobs by Work4Labs * The powerful social recruiting technology Paris, France
During my first 6-months internship I've joined Work4, a startup that develops a recruitment application on Facebook. It allows HR teams to offer jobs directly from their Facebook page. Work4 offers a paid contract that supports automatic import job offers customers in the application and export of candidates directly in the customer's system.
The team in which I work is called ImpEx team. The goal is to fuel the job offers pipeline, JobPipe, the homemade software that automates import. Incoming jobs are obtained through import plugins that plug into an API or scrap our clients' job offers. On the other side, for HR teams to get candidates from Facebook, the ImpEx team writes exports plugins that will send the candidates in the customer's site with a report automatically generated.
JobPipe is a complete software that has been the subject of a patent application and which possesses a rapid development cycle. JobPipe is very versatile and scalable: it has a Web interface for the project owners to easily spawn and tune generic spiders, like Taleo ones.
JobPipe conducts 3 steps: Import the job offers customers in its database, transform the jobs so that they have the correct format for the application, and export jobs to the application. This consists of spiders (Scrapy specific term) that crawl the customer's site and extract the necessary information for each job. The transformations use rules defined in JobPipe to format jobs so that they are properly used and displayed by the application
At the early stage of startup creation, we need a proof-of-concept to evaluate the feasibility of a product. So with a couple of friends, we decided to develop a tracker for equestrian sports like Withings did for human sports.
As a developer, my main responsibilities were to prototype, design and implement an early stage proof-of-concept.
The prototype was based on an Arduino, it samples data from 3 sensors (9 DoF). Raw data is stored on an SD card that is later read on computer and processed using tool such as Matlab.
We managed to recognize interesting signal footprints. Logic could easily be embedded on some more powerful boards with a better microprocessor unit.
USEC - Junior-Entreprise de l'UTCFebruary 2014 - July 2014
The objectives of our mandate was to maintain turnover above 100 k EUR , reduce training time members, provide specific micro-training, strengthen the quality system in place in the SISQ Black OPS project and sustain the association with a controlled and efficient recruitment. My mission was to monitor internal quality and studies. I also participated in continuous improvement of the Quality Management System through the rise of nonconformities, implementation of processes and procedures manual.
USEC - Junior-Entreprise de l'UTCSeptember 2012 - February 2014
At the UTC, I volunteered into the Junior Enterprise. As an IT Director, I had to manage IT equipment, user accounts and emails. I also maintained the accessibility of IT services (Nuxeo, GitLab, Mail, LDAP, Apache) and took the responsibility to perpetuate the structure by ensuring backups, protect data and accounts.
This was a 4-weeks internship in the Quantel Medical Laser photo-coagulators sector. I first worked as a storeman preparing commands. I then mounted chassis in the workshop following specifications. I continued in a clean room, mounting the laser cavities and aligning lenses and mirrors. Ultimately, I integrated lasers components, did the calibrations and security audit.
implementation of processes and procedures, Lead Software Engineer, manage IT equipment, few key skills, develop a few software units, development of the applicative and middleware layers, tremendous experience, network protocols, fsmOS scheduler, battery manager, IMU, Test-Driven Development, Swagger API, engineering experience, Embedded developer, Firmware Developer, Embedded Software Developer, Embedded Engineer, Quality Management Systems, TOEIC, Mobile Applications, continuous development, Embedded Software, Python Programming, CANbus, Masters Degree > Masters Degree Computer Engineering, Pro/ENGINEER, Tech Lead, Proof of Concept, Internet of Things, Bash Shell, 3D, Back End, Scheduler, Python Developer, Assembly Lines, Continuous Improvement, VP, BlueTooth Technology, UML/OMT, English, C Programming Language, industry~it, French, Global Positioning System, a storeman, Mechanical Technicien Assistant, Laser Technician, an IT Director, Automatic Testing, PHP Developer, develop a tracker, self-employed, features development, Director of Information Systems, a developer, Portuguese, Technical Leader, Apple MacOS, Advanced RISC Machine (ARM), Architect, Object Oriented Analysis/Design, Analyst/Programmer, pair programming, freelance firmware developer
Apache Web Server
Environment of Development
Eclipse IDE, GDB, Vagrant
Embedded and Telecom
UART, Firmware, Arduino, Embedded Linux Kernel, Embedded C
As Pentalog’s Talent Sourcing branch, SkillValue relies on a pool of 400,000+ Tech & Marketing Specialists – including 15,000+ Freelancers, a comprehensive catalog of IT assessments, available projects and job opportunities. Our SkillValue consultants are always ready and willing to help you boost your career.
Stay in the know with Pentalog tech & business updates
WHAT WE'RE ABOUT
Pentalog is a digital services platform dedicated to helping companies access world-class software engineering and product talent. With a global workforce spanning more than 16 locations, our staffing solutions and digital services power client success.