Expoint - all jobs in one place

Finding the best job has never been easier

Limitless High-tech career opportunities - Expoint

Amazon SoC Device Driver Engineer Annapurna Labs Machine Learning Accelerators 
United States, California, Cupertino 
388543752

02.09.2024
DESCRIPTION

As a software engineer developing the SoC driver stack, you will:- Work with hardware designers to write drivers for newly developed hardware modules
- Drive system-level software integration and cross-functional debug
- Refactor and maintain existing codebases throughout the device lifecycle- Innovate on the tooling you provide to customers, making it easier for them to use the SoCAnnapurna Labs, our organization within AWS, designs and deploys some of the largest custom silicon in the world, with many subsystems that must all be managed, tested, and monitored. The SoC drivers are a critical piece of the software stack that ensure the chip is functional, performant, and secure.You will thrive in this role if you:
- Are familiar with modular driver architectures (such as the Linux or Windows driver stacks)
- Are proficient in C++ and familiar with Python
- Know how to build effective abstractions over low-level SoC details- Have strong opinions about software architecture, and are able to apply them effectively
Although we build machine learning chips, no machine learning background is needed for this role. You (and your software) won’t be doing machine learning, but you'll have plenty of opportunities to pick up ML concepts from colleagues, if you so desire.This is a fast-paced role where you'll work with thought-leaders in multiple technology areas. You'll have high standards for yourself and everyone you work with, and you'll be constantly looking for ways to improve your software, as well as our products' overall performance, quality, and cost.Work/Life Balance
Mentorship & Career Growth

BASIC QUALIFICATIONS

- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with C++


PREFERRED QUALIFICATIONS

- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent