Firmware Developer (C++ / Yocto / Python / Qt) – Mid-Level
Descrizione dell'offerta
About the Role
We are looking for a skilled Firmware Developer to join our embedded systems team. You will be responsible for designing, developing, and maintaining firmware for embedded devices, working across the full stack from low-level hardware interaction to user-facing interfaces.
This role requires strong expertise in C++, embedded Linux (Yocto), and experience building reliable, scalable firmware solutions. Familiarity with microcontroller platforms such as ST, ESP32, or NXP is highly desirable.
Key Responsibilities
- Design, develop, and maintain embedded firmware using C++
- Customize and manage embedded Linux distributions using Yocto
- Develop scripts and tools using Python for automation, testing, and integration
- Build and maintain UI components using Qt where applicable
- Interface directly with hardware (drivers, peripherals, communication protocols)
- Debug and optimize system performance, memory usage, and power consumption
- Collaborate with hardware engineers and cross-functional teams
- Write clean, maintainable, and well-documented code
- Participate in code reviews and contribute to best practices
Required Qualifications
- 3+ years of experience in embedded firmware development
- Strong proficiency in C++ (modern standards preferred)
- Hands-on experience with Yocto Project and embedded Linux systems
- Solid experience with Python
- Experience developing applications with Qt (Qt/QML is a plus)
- Good understanding of embedded systems architecture and constraints
- Experience with debugging tools (e.g., JTAG, GDB)
- Familiarity with communication protocols (UART, SPI, I2C, CAN, etc.)
- Experience with version control systems (Git)
Preferred Qualifications
- Experience with microcontroller platforms:
STMicroelectronics (STM32)
Espressif ESP32
NXP (i.MX, LPC, etc.)
- Knowledge of bootloaders, BSPs, and device tree configuration
- Experience with CI/CD pipelines for embedded systems
- Familiarity with RTOS (e.g., FreeRTOS)
- Basic hardware troubleshooting skills (oscilloscope, logic analyzer)
Soft Skills
- Strong problem-solving and debugging skills
- Ability to work independently and in a team environment
- Good communication skills
- Attention to detail and code quality
Nice to Have
- Experience with OTA update systems
- Security best practices for embedded devices
- Experience in IoT products or connected devices