Duties and responsibilities
- In this role, you will be responsible for the development of firmware and software modules on different embedded platforms and going through the entire product and application release cycle in close collaboration with other technical teams
- Day to day responsibilities include development and design of software applications and research comprising of automotive, industrial and consumer. Design include software architecture, code reviews, maintenance and modification of existing firmware and software modules. Implementation of different communication interfaces from I2C, SPI, UART, USB, Ethernet, CAN and porting optimized algorithms from a higher-level scriptinglanguage to lower-level embedded C.
- Analyzes requirements to determine the feasibility of the design for time and cost constraints
- Design test and characterizations plans, track and fix SW issues
- Develop code to do board bring up and test hardware and components functionally
- Professional and clear verbal and written communications
RequiredExperience and Skills
- Background in designing firmware with different kind of sensors in an RTOS and non-RTOS environment
- Experience in working with different MCU architectures
- Must be familiar and practically implemented algorithms and different embedded protocols such SPI, I2C, USART etc. experience in working with Bluetooth Low Energy SW stacks will be considered as a plus.
- Excellent knowledge of C and have experience with different embedded IDEs and compiler toolchains such as IAR, Atmel Studio, Keil, GCC-ARM
- Previous experience in porting algorithms from higher level scriptinglanguages such as MATLAB and Python to Embedded-C
- Familiar with hardware debugging
- Experience in Microphone, MEMS-Motion, Pressure sensors, Gas sensors, Ultrasonic, Camera, Radars, Lidar sensors is considered a plus
- Experience in FPGA integration will be considered a plus