Senior Firmware Engineer in Paris

Mainbot

Category
Salary
50,000 - €60,000
Workplace
Onsite
Hours
Full-Time
Internship
No
Share offer

Job Description

As Senior Firmware Engineer, you will be responsible for programming the high-level firmware of our product line. You will work in close collaboration with the hardware and embedded systems engineers to ensure a seamless integration and to deliver fully functional and cost-efficient solutions. Because Winky is also intended to be an open target for gaming and educational apps, you will partake in the development of Winky’s API, in close collaboration with the game development team. A wide degree of creativity and autonomy is expected as you will also take part in the upstream brainstorming phases of our application feature development cycle. You will be provided with all the lab equipment, evaluation kits and prototypes needed for the job.
Reporting to the CTO, you will work both as part of a team and individually; depending on the development options chosen, you may have to manage and/or interact with an external development team.

Job Responsibilities:
* Develop, release, and maintain stable builds for the system firmware;
* Propose, integrate and validate cost-effective product designs;
* Support software QA, optimize I/O performance, reduce power consumption, enable OTA firmware updates;
* Implement robot-side communication protocols and behavior engine;
* Foster quality control tools and methodology, set and run continuous unit * and integration tests;
* Keep technical documentation up-to-date;
* Ensure software and hardware licensing compatibility with third-party technologies.

Skills:

* Problem solving/analysis, ability to convert functional specifications to technical solutions;
* Solid software development skills, expertise with C programming language, compilers and debuggers;
* Expertise with low-level firmware programming, ability to write reliable firmware from scratch;
* Advanced mathematical knowledge (engineer-grade level);
* Mastery of the basic MCU registers and peripherals (GPIO, ADC, DAC, comparators, timer/counters, DMA, RTC, serial communications, watchdogs, debug interfaces, security, memory tables…);
* Ability to find specific information efficiently in technical datasheets and application notes;
* Proficiency with non-blocking and multithreaded programming style and tools;
* Theoretical and practical knowledge of Digital Signal Processing, related mathematical tools and instruction sets;
* Hands-on experience with Bluetooth stacks, USB a plus;
* Ability to assess, test, integrate and interface with a wide range of sensors and actuators;
* Excellent troubleshooting ability, using lab equipment to identify and fix issues (debugger, logic analyzer, data logger, oscilloscope…);
* Understanding of the whole digital electronics engineering pipeline, from component assessment to integration and testing;
* Ability to fix library compatibility issues at low level;
* Attention to detail, coupled with a knowledge sharing attitude.

Prerequisites:

* A proven working experience in firmware engineering is required;
* An experience in a professional or open hardware development team is appreciated;
* Proficiency with the development environments of at least 2 major manufacturers;
* Programming languages: assembly, C, C++, C#, Python;
* Autonomous, proactive, rigorous, organized and cost-driven mindset;
* Interest for robotics, videogames and education.

Technical Stack:
* ARM Cortex M series-based MCUs (NXP / Freescale);
* GCC / G++, GDB, make, Git;
* Real Time Operating System (FreeRTOS);
* Digital audio signal protocol and processing (I2S, DSP…);
* Serial communications (UART, I2C, SPI);
* Bluetooth (classic and BLE) stack, in particular SPP, A2DP and HID profiles;
* Co-processors; power supply (PMIC, boost converter, wired logic…).


 

About Mainbot

  • Hardware

Mainbot company page is empty
Add a description and pictures to attract more candidates and boost your employer branding.

Other devops jobs that might interest you...