R&D Software Engineer
Core
Design, develop, test, and maintain embedded software for microcontrollers and Linux-based products, implementing firmware and device interfaces.
Role type
Embedded software engineer
Builds
Embedded software, firmware, and device interfaces for industrial products
Domain
Industrial automation and embedded systems
Deliverable
production ML models | product features
Required skills
C/C++ programming, embedded systems knowledge, microcontroller development, real-time software concepts, firmware implementation, communication protocols (UART, SPI, I2C, CAN, Ethernet, TCP/IP), debugging tools (JTAG, GDB, oscilloscopes, logic analyzers), source control (Git)
Preferred skills
Python scripting, ARM Cortex-M/Cortex-A platforms, FreeRTOS, Yocto, Buildroot, cross-compilation toolchains
Responsibilities
Design, develop, test, and maintain embedded software; Implement and troubleshoot firmware and device interfaces; Collaborate with cross-functional teams to deliver reliable product features; Support software verification, debugging, and continuous product improvement; Maintain existing software and test infrastructure; Align with assigned lead on time, cost, and quality to complete project deliverables
Seniority
Junior to Mid-level, hands-on IC