Embedded Software Engineer
Join an embedded infrastructure team developing shared software foundations and a cross-platform SDK for smart energy products. Build reliable firmware and development tools used across multiple product teams.
Responsibilities
- Develop and maintain embedded software for a cross-platform SDK
- Develop bootloaders, drivers, bare-metal firmware, and RTOS-based firmware for ARM and ARC processors
- Collaborate with software, hardware, and architecture teams from design through system validation
- Participate in design and code reviews and produce unit and automated system tests
- Define and improve development environments and build flows
- Support chip bring-up, device integration, troubleshooting, and software-hardware validation
- Apply AI-driven tools and methods to improve development speed and code quality
Requirements
- Bachelor’s degree in Computer Science, Electrical Engineering, or equivalent experience
- At least 2 years of real-time embedded firmware development using C/C++
- Hands-on experience developing and troubleshooting embedded microcontrollers and processors
- Experience with JTAG, logic analyzers, and other firmware debugging tools
- Experience developing peripheral drivers for UART, SPI, I2C, ADC, PWM, timers, and DMA
- Familiarity with multithreaded or RTOS-based systems
- Strong problem-solving skills and attention to detail
Nice to have
- Experience with AI-driven development tools and workflows
- Knowledge of CAN-FD, Ethernet, or TCP/IP
- Python or other scripting experience for automation tools
- Experience with CI/CD pipelines and automation workflows
- Familiarity with CMake, Bazel, Meson, or similar command-line build systems