You will be part of a larger organization that develops formal software analysis tools from model checkers to deductive theorem provers and applies them to software at all levels of abstraction from assembly through very high-level languages like Dafny. You will work collaboratively to deliver results in the form of verified code and tools to accelerate code verification for our customer teams.
Each day, hundreds of thousands of developers make billions of transactions worldwide on AWS. They harness the power of the cloud to enable innovative applications, websites, and businesses. Using automated reasoning technology and mathematical proofs, AWS allows customers to answer questions about security, availability, durability, and functional correctness. We call this provable security, absolute assurance in security of the cloud and in the cloud. https://aws.amazon.com/security/provable-security/
Key job responsibilities
- Verify high-performance algorithm kernels for mathematical and cryptographic operations at various levels of abstraction, from Arm and x86 native code to higher-level code in C and Rust.
- Develop tools through the use of theorem proving, SAT, SMT, and various concepts from programming languages to automate reasoning at scale about such code.
- Design such tools to be usable by developers so that they can verify their own code.
- Work with customers to deliver implementations and proofs to meet product schedules.
A day in the life
Why AWS
Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform. We pioneered cloud computing and never stopped innovating — that’s why customers from the most successful startups to Global 500 companies trust our robust suite of products and services to power their businesses.
Inclusive Team Culture
Here at AWS, it’s in our nature to learn and be curious. Our employee-led affinity groups foster a culture of inclusion that empower us to be proud of our differences. Ongoing events and learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences, inspire us to never stop embracing our uniqueness.
Work/Life Balance
We value work-life harmony. Achieving success at work should never come at the expense of sacrifices at home, which is why we strive for flexibility as part of our working culture. When we feel supported in the workplace and at home, there’s nothing we can’t achieve in the cloud.
Mentorship and Career Growth
We’re continuously raising our performance bar as we strive to become Earth’s Best Employer. That’s why you’ll find endless knowledge-sharing, mentorship and other career-advancing resources here to help you develop into a better-rounded professional.
Diverse Experiences
Amazon values diverse experiences. Even if you do not meet all of the preferred qualifications and skills listed in the job description, we encourage candidates to apply. If your career is just starting, hasn’t followed a traditional path, or includes alternative experiences, don’t let it stop you from applying.
Utility Computing (UC)
AWS Utility Computing (UC) provides product innovations — from foundational services such as Amazon’s Simple Storage Service (S3) and Amazon Elastic Compute Cloud (EC2), to consistently released new product innovations that continue to set AWS’s services and features apart in the industry. As a member of the UC organization, you’ll support the development and management of Compute, Database, Storage, Internet of Things (IoT), Platform, and Productivity Apps services in AWS, including support for customers who require specialized security solutions for their cloud services.
About the team
You will be working with a team of formal verification specialists spanning recently hired PhDs to industry veterans. Our vision is to provide solutions that are proven correct without compromising performance.
BASIC QUALIFICATIONS
- PhD, or Master's degree and 6+ years of applied research experience
- Experience programming in Java, C++, Python or related language
PREFERRED QUALIFICATIONS
- Experience with neural deep learning methods and machine learning
- PhD in Computer Science, Discrete Mathematics, Electrical Engineering, or similar discipline.
- Experience with the Lean (preferred) or Coq interactive theorem provers and implementing performant proof automation.
- Experience with instruction set architectures — particularly x86 and Arm, but also RISC-V and Power — including formalization, programming, code generation, and verification.
- Experience with higher-level programming languages like Rust, Dafny, Lean, OCaml, and LISP.
Amazon is committed to a diverse and inclusive workplace. Amazon is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status. For individuals with disabilities who would like to request an accommodation, please visit https://www.amazon.jobs/en/disability/us.