Amazon Web Services (AWS) is looking for a best-in-class Software Development Engineer for the Elastic Compute Cloud (EC2) development team in Seattle to support macOS in the cloud ((https://aws.amazon.com/ec2/instance-types/mac/). This team is responsible for creating new EC2 macOS instances on the worlds largest cloud infrastructure.
The ideal candidate has a comfortable understanding of Operating System internals, Linux, networking, and operating services at scale. You have a track record of creating the best possible experience for internal and external customers as well as other developers who will benefit from the software and solutions you create.
You will be part of a small team creating and managing tools and systems that bring efficiencies to our instance lifecycle including new features, testing reliability and quality, deployments, and operational processes for AWS EC2 macOS instances. You will work closely with firmware and hardware engineering teams to manage day-to-day development activities, participate in architecture decisions, designs, implementation, code reviews and deployment.
Excellent written and verbal communication skills and efficient interaction with peers is required. The desire and ability to work in a fast paced, collaborative environment is essential. In addition to providing top-tier management and support of Amazon's vast cloud infrastructure, Software Development Engineers are expected to develop best practices, refine operational procedures and constantly think pro-actively and with innovation.
This is an excellent opportunity to join Amazon's world class technical teams, working with some of the best and brightest engineers while also developing your skills and furthering your career within one of the most innovative and progressive technology companies anywhere.
Your responsibilities include:
Hands-on software development, including software design reviews, implementation, code reviews, automated testing development, deployment, and monitoring to make sure your code is working properly at scale.
Working with hardware engineering, nitro controller, and other partners, to innovate new solutions for EC2 macOS instances.
Develop junior engineers to develop highly reliably software and ensuring the best development practices are followed.
The right candidates will have working experience with x86 and ARM 64 bit architectures, OS kernel internals, and experience delivering robust, high performance software.
Our team is diverse! We drive towards an inclusive culture and work environment. We are intentional about attracting, developing, and retaining amazing talent from diverse backgrounds. Team members are active in Amazon's 10+ affinity groups, sometimes known as employee resource groups, which bring employees together across businesses and locations around the world. These range from groups such as the Black Employee Network, Latinos at Amazon, Indigenous at Amazon, Families at Amazon, Amazon Women and Engineering, LGBTQ+, Warriors at Amazon (Military), Amazon People With Disabilities, and more.
We puts a high value on work-life balance. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives.
Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we're building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future.
Amazon is an Equal Opportunity-Affirmative Action Employer Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation
• BS in Computer Science or equivalent experience.
• Experience in at least one modern programming language such as C/C++, Java, Go, or Python.
• Fundamentals in problem solving, and complexity analysis.
• Experience working with macOS and Linux.
• Technically sound in software development activities and life cycles.
• Able to work in a diverse team
• Strong verbal and written communication skills.
• Experience designing software/systems operating at scale.
• Experience deploying to fleets of devices
• Experience with C/C++/Objective C
• Knowledge of macOS, Linux kernel, drivers and ARM platforms
• Experience with embedded systems, board bring up, and interacting with hardware devices.