Senior Embedded Software Engineer
Job Description
Overview
\n
We are seeking a Senior Embedded Software Engineer to support the development of next-generation secure NFC/RFID credential reader products. This individual will be responsible for designing, developing, and delivering production-quality embedded firmware within an established software framework. The ideal candidate has strong hands-on experience with modern C++, embedded microcontrollers, RTOS environments, and low-level driver development.
\n
This is a highly technical firmware role focused on embedded systems rather than application software.
\n
Key Responsibilities
\n
- \n
- Design, develop, and maintain embedded firmware using C++17 or newer.
- Develop low-level drivers and hardware interfaces including:
- USB
- UART
- SPI
- I2C
- GPIO
- DMA
- Timers
- Implement and enhance embedded software components, modules, threads, and state machines.
- Work within an RTOS environment (Zephyr preferred) to integrate drivers, middleware, and application functionality.
- Extend and support USB functionality, including CCID-related protocols.
- Optimize firmware performance, memory utilization, timing, and power consumption.
- Implement robust fault handling, recovery mechanisms, and secure coding practices.
- Collaborate with cross-functional engineering teams to integrate firmware into the broader product architecture.
- Deliver production-ready firmware that meets performance, reliability, and security requirements.
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Required Qualifications
\n
- \n
- Bachelor's degree in Engineering, Computer Engineering, Computer Science, or related technical field.
- 5+ years of embedded firmware development experience.
- Strong expertise in modern C++ (C++17 or later).
- Experience developing firmware on ARM Cortex-M microcontrollers, preferably Cortex-M4F.
- Hands-on experience with STM32 microcontrollers, ideally the STM32G4 family.
- Solid RTOS experience, with Zephyr RTOS strongly preferred.
- Strong background in low-level embedded development and device driver implementation.
- Experience working with USB stacks and USB communication protocols.
- Familiarity with Embedded Template Library (ETL) and state-machine-based architectures.
- Experience debugging and optimizing real-time embedded systems.
- Understanding of secure firmware development and embedded security concepts.
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Preferred/Desired Background
\n
- \n
- Experience with NFC, RFID, smart card, authentication, or credential reader products.
- Experience in security-sensitive industries or products.
- Familiarity with CCID (Chip Card Interface Device) protocols.
- Experience working in senior-level embedded engineering roles where ownership of major subsystems is expected.
- Ability to work independently while collaborating effectively with larger engineering teams.
\n
\n
\n
\n
\n
\n
Technical Environment
\n
- \n
- Modern C++ (C++17+)
- Zephyr RTOS
- ARM Cortex-M4F
- STM32G4 Microcontrollers
- USB / CCID
- ETL (Embedded Template Library)
- Windows development environment with Linux-based build and test systems
\n
\n
\n
\n
\n
\n
\n
\n
