Job Title: Software Engineer - On-device ML
Location: Onsite in Redmond WA or Burlingame, CA
Duration: 12 Months W2 contract with possibility of extensions
We are looking for a skilled and motivated Software Engineer to join our client's team. We are specifically looking for a candidate with experience in C++ and who can work with a team of researchers who are building prototype research devices.
Must-Have Skills:
Understanding of low-level software
Experience with ML
Experience with Python
Nice-to-have Skills:
On-device ML experience
Algorithm optimization
AOSP experience
Responsibilities*
Analyze, evaluate, design, develop, integrate, debug, and test real-time software for advanced prototypes and user experiences
Create, fix, and modify low-level software components such as device drivers and firmware.
Build software, tools, infrastructure, documentation and other systems that enable research scientists to be more effective and efficient
Collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to deliver software solutions rapidly
Perform code reviews that improve software engineering quality
Write clean readable code, debug complex problems that span systems, prioritize ruthlessly and get things done with a high level of efficiency
Required Qualifications*
BS degree in the field of Computer Science or related field.
2+ years experience with C/C++ systems programming
2+ years experience with embedded systems
Solid understanding of low-level software components and device driver/firmware.
Basic understanding of machine learning.
Experience shipping one or more products using standard software development toolsets such as source control or continuous integration systems
ML development experience, especially on-device ML
AOSP experience