Returning Candidate?

Software Development Engineer, AWS Silicon Optimizations

Software Development Engineer, AWS Silicon Optimizations

Job ID 
Company/Location (search) 
Posted Date 
Annapurna Labs (U.S.) Inc.
Recruiting Team 

Job Description

As a member of the AWS Silicon Optimization Engineering Team you’ll be responsible for the design and optimization of integrated hardware and software customer-focused solutions and technologies in our data centers. You’ll develop software technologies in the application of new technologies to large scale server, network, and storage deployments in a continuous effort to deliver a world-class customer experience. This is a fast-paced, intellectually challenging position, and you’ll work with thought leaders in multiple technology areas.

You will be responsible for developing technologies and capabilities in the lowest layers of the AWS software stack. Development will be primarily focused on firmware / embedded software, Linux application development, cloud-scale monitoring, and could include Linux driver development. You’ll collaborate with a range of AWS teams to develop and deploy comprehensive cloud-scale AWS solutions incorporating these technologies.

Basic Qualifications

· Bachelor’s degree or higher in Computer Science, Computer Engineering, or related field
· Computer Science fundamentals in object-oriented design, data structures and algorithm design, complexity analysis, scalability and availability
· High degree of proficiency in the development of embedded software or firmware, and the development of corresponding automated tests.
· Proficiency in hardware / software integration
· High degree of proficiency in C or C++
· Proficiency in one or more modern scripting languages like Python or Ruby
· Experience with professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, and continuous integration and testing.

Preferred Qualifications

· High degree of proficiency as a Linux user and Linux application development
· Familiarity with SOC configuration, bringup, calibration, and diagnostics especially as relates to DDR and PCIe.
· Familiarity with developing hardware functional or performance modeling leveraging environments like SystemC, QEMU, or Simics.
· Familiarity with software bringup on custom hardware using hardware simulators or emulators.
· Development of automated test, continuous integration, and deployment frameworks.
· Development of embedded device monitoring and device management software
· Familiarity with secure-boot and other embedded security focused technologies.
· Familiarity with application and kernel performance profiling and optimization
· Domain experience in an area related to high-scale data center technologies such as compute, storage, networking, or accelerators.
· Familiarity with Linux or RTOS device driver development
· Solid Computer Architecture fundamentals.
· Experience with Git source control