To build a new service for Amazon Web Services End User Computing (EUC) to give companies the agility to respond to the changing needs of their workforce and to be the best place for customers to run and access their desktops and apps from any device.
Requirements
- Experience programming with at least one modern language such as Java, C++, or C-Sharp including object-oriented design
- Experience in one or more of these areas: Ubuntu Linux customization on X86 based platforms, Proficiency in Python and Java for production-quality software, Experience with Linux low-level system development
- Prior contributions to upstream Linux or other open-source projects
- Experience with Linux kernel and/or device driver development, kernel development and performance optimization
- Proficiency in Python and Java for production-quality software
- Experience with Secure Boot, kernel lockdown, dm-verity, and measured boot with TPM 2.0 and remote attestation
- Experience with Debian and Snap packages
Responsibilities
- Tailor an Ubuntu-based distribution for our use cases and enforce a verifiable chain of trust from boot to userspace
- Curate and build Debian and Snap packages, sign artifacts, and automate image builds and optimize OTA/rollback flows
- Integrate Secure Boot, kernel lockdown, dm-verity, and measured boot with TPM 2.0 and remote attestation
- Influence the technical direction of the team, working with many different technologies and organizations across AWS and Amazon
- Drive implementation of new technologies and solutions
- Work with a fun team that prides itself on a great work environment with an inclusive group of people
- Solve complex problems and deliver highly secure, highly available, and highly scalable systems
Other
- 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
- Bachelor's degree in computer science or equivalent
- Ability to take a project from initial scoping to the launch
- Ability to distill problem definitions, models, and constraints from informal business requirements, and to deal with ambiguity and competing objectives