Senior Embedded Software Engineer - Bangalore, India
What you'll do Design and implement real-time applications on ARM processors interfacing with multiple sensors in C/ C++.
Participate in the team's software processes, including requirements and design documentation, test-plan generation and execution, peer design and code reviews, process feedback and improvements
Debug complicated issues as they arise during product development
What you have 5 + years of experience in developing C/ C++ multi-threaded applications, ideally for Embedded Linux targeting multiple ARM cores
Experience in low level driver development in embedded systems
Experience developing firmware for hardware on Embedded Linux
Experience with one or more of the following: Microcontrollers, SoC, device drivers, hardware bringup, power management, performance optimization or hardware/software integration, RTOS
Experience with the processor architecture
Experience working with communication protocols like I2C, SPI, UART
Knowledge of electronics principles, including reading schematics and using logic analyzers, oscilloscope, and other test equipment.
Experience in performance tuning, debugging tools, tests and release management
Nice-to-haves Experience working with high-speed interfaces like ADC, MIPI, PCIE
Experience with Xilinx, Zync, SOC family or equivalent
Experience debugging FPGA hardware via lab equipment
Experience with scripting languages: Python, shell scripts
Ability to analyze datasets using Python, Matlab, or equivalent tools to identify issues and improve our core technology
Experience in profiling and benchmarking