
Senior Embedded Software Engineer - Bangalore, India
Aeva, Inc.10 months ago
Bengaluru, IndiaSenior
Responsibilities
- Design and implement real-time applications on ARM processors using C and C++.
- Develop low-level drivers and firmware for embedded hardware on Embedded Linux.
- Interface software with multiple sensors and support hardware/software integration.
- Create and execute test plans, participate in requirements and design documentation, and conduct peer design and code reviews.
- Debug complex product-development issues and perform performance tuning, profiling, and benchmarking.
- Contribute to software process feedback, improvements, testing, and release management.
Requirements
- 5+ years of experience developing multithreaded C/C++ applications, ideally for Embedded Linux targeting multiple ARM cores.
- Experience with low-level driver development and embedded firmware development.
- Experience with microcontrollers, SoCs, device drivers, hardware bring-up, power management, performance optimization, hardware/software integration, or RTOS.
- Experience with processor architecture and communication protocols including I2C, SPI, and UART.
- Knowledge of electronics principles, including reading schematics and using logic analyzers, oscilloscopes, and other test equipment.
- Experience with performance tuning, debugging tools, tests, and release management.
- Preferred experience with high-speed interfaces such as ADC, MIPI, and PCIE.
- Preferred experience with Xilinx, Zync, SoC families, or equivalent, including FPGA hardware debugging.
- Preferred scripting experience with Python and shell scripts.
- Preferred ability to analyze datasets using Python, Matlab, or equivalent tools to identify issues and improve core technology.
- Preferred experience with profiling and benchmarking.