Description
Job Title:
Staff Software Engineer, Embedded Linux
Job Location: Bangalore, India
Job ID: AI2426
Areas Of Focus
The SoC software team is responsible for creating the SDK for SiMa.ai’s MLSoC product line. This includes developing/porting OS, boot SW, device drivers, run time environment for multiple CPU subsystems that are part of SiMa.ai’s MLSoC(™), developing embedded Linux based applications and APIs for enabling end2end customer application flow utilizing different IO subsystems that are part of MLSoC.
Responsibilities
We are looking for a software engineer who has experience developing OS device drivers, boot SW and key test applications in a Linux embedded environment. The ideal candidate will have a proven track record of working in a high-performance team and have partnered with cross functional teams across multiple geographies. Key responsibilities include (but not limited to):
-
Develop and maintain drivers for high-speed interfaces like PCIe, Ethernet, MIPI, DDR.
-
Build and maintain system level libraries for buffer management, synchronization, logging, etc.
-
Optimize and add features for video processing blocks like Encoder, Decoder, ISP.
-
Modify and maintain build systems like Yocto and eLxr (Debian).
-
Test and verify Linux drivers and environment with Virtualizers and Zebu emulators.
-
Provide SW to support HW MLSoC test validation team.
Key Requirements
-
BS/MS in computer science with minimum 8 years of experience.
-
Hands-on experience developing firmware, boot code and SW using high performance 64 bit Arm processors.
-
Hands-on experience developing drivers for USB, PCIe, MIPI, Ethernet, eMMC.
-
Development experience with Embedded Linux (e.g. Yocto) or embedded RTOS (e.g. Zephyr) experience is highly desirable.
-
Experience of working with MIPI and ISP for Camera and Video processing is highly desirable.
-
Good proficiency with C/C++.
-
Proven track record and experience building and delivering complex embedded SW products.
Personal attributes
Can-do attitude. Strong team player. Curious, creative, and good at solving problems. Execution and results oriented. Self-driven, thinks big and is highly accountable. Good communication skills.