Amazon's Identity Services cares deeply about building and preserving customer trust. We are seeking engineers who will work with us to deliver the world's most secure, convenient and intuitive Identity experience.
We own the systems that enable identifying and authenticating every Amazon customer in the world. Every aspect of the Amazon global business depends on our systems to know who the customer is. If our systems are not up and running, the company stops. We balance keeping our systems fast, scalable and performant (no exceptions!) with rapidly delivering great features for Amazon customers and our developer partners. We have a hand in almost every major launch at Amazon so working with us you get exposed to all kinds of exciting initiatives. In short, we get to own and innovate on security features while also supporting nearly every other business at the company; the best of both worlds!
In this role you will be helping us build the next generation of Amazon's Identity infrastructure using latest AWS offerings (e.g. Fargate, Lambda, ECS, DDB, VPC, etc.) to deliver industry leading security controls not previously possible. You will have the opportunity to partner with our Senior and Principal tech leaders to deliver zero-trust distributed systems, applying best practices for API, security and scalable system design. You will build event-based containerized micro-services that can easily scale to support millions of authentication operations per minute. You will deliver best-in-market authentication solutions such as WebAuthN approval notifications, and/or improve existing functionality to incorporate higher authentication assurance to protect high-value transactions for our customers. Our engineers are proud of the work they do and the impact it has when used by hundreds of millions of customers on Day 1, helping make their accounts more secure.
Our team works together to provide work/life harmony for all team members. We recognize that the circumstances of our team members vary. We have an adaptive, honest and supportive culture that enables us to focus on the most important things and maintain high standards for our customers, while at the same time allowing for rich and happy personal lives.
- 3+ years of programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
- 4+ years of professional software development experience
- Bachelor's Degree or higher in Computer Science or related field, or equivalent experience to a Bachelor's degree based on three years' experience for every one year of education
- 6+ years professional experience in software development
- Fluency in Java, C# or other OO language (Java preferred)
- Computer science fundamentals in object oriented design
- Computer science fundamentals in data structures
- Computer science fundamentals in algorithm design, problem solving and complexity analysis
- Experience building complex software systems that have been successfully delivered to customers
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Ability to take a project from scoping requirements through actual launch of the project
- Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs
- Clear, professional communication skills to technical and non-technical stakeholders
- Thorough understanding of systems architecture; able to "dive deep" to determine root cause of issues Understanding of OAuth, OpenID, other authentication/authorization protocols