Software Development Engineer, Amazon
About the role
Join us in our journey to deliver solutions for one of the most complex domains in People eXperience Technology (PXT). We own and deliver technology to manage employee time expectations and compute their pay, globally, for all our current and emerging businesses. Our business rules are complex and arcane, varying by role, business, and jurisdiction. We are solving all these problems at Amazon scale, an order of magnitude larger than supported by any commodity solutions and growing exponentially.
Responsibilities
- Own the design and delivery of significant features and components across scalable, multi-tiered applications and services.
- Drive projects from requirements through design, implementation, testing, deployment, and production operation.
- Write high-quality, well-tested production code using modern languages, design patterns, and frameworks.
- Hold yourself and your peers to high standards through thorough code reviews.
- Make sound technical decisions with appropriate trade-offs.
- Evaluate options for caching, retry strategies, concurrency, and data modeling.
- Justify your choices and communicate trade-offs clearly.
- Design and build for scale and resilience.
- Consider failure modes, rate limits, traffic bursts, and downstream dependency health in your designs.
- Implement patterns like backpressure, circuit breakers, and graceful degradation.
- Own operational excellence for your systems.
- Monitor production health, respond to alarms, investigate root causes, and drive fixes.
- Write runbooks, improve observability, and reduce operational burden over time.
- Contribute to system-level design discussions.
- Participate actively in design reviews — propose solutions, challenge assumptions, and help the team arrive at better architectures.
- Mentor junior engineers.
- Support SDE-Is through code reviews, pairing sessions, and technical guidance.
- Help them grow their skills and develop good engineering habits.
- Understand and translate business requirements.
- Work with stakeholders to understand complex domain rules across punch processing, attendance, scheduling, and compliance.
- Turn ambiguous requirements into clear technical designs.
- Identify and resolve technical debt proactively.
- Improve code quality, simplify complex logic, optimize performance, and refactor systems to support future growth — without being asked.
- Contribute to team processes and culture.
- Participate in sprint planning, retrospectives, and on-call rotations.
- Raise the bar for engineering practices and help improve team velocity.
Qualifications
- 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
- 1+ years of software development engineer or related occupational experience
- 1+ years of designing and developing large-scale, multi-tiered, multi-threaded, embedded or distributed software applications, tools, systems, and services using: C#, C++, Java, or Perl
- 1+ years of Object Oriented Design experience
- Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field
- Experience programming with at least one software programming language
Preferred Qualifications
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent
Benefits
Amazon offers comprehensive benefits including health insurance (medical, dental, vision, prescription, Basic Life & AD&D insurance and option for Supplemental life plans, EAP, Mental Health Support, Medical Advice Line, Flexible Spending Accounts, Adoption and Surrogacy Reimbursement coverage), 401(k) matching, paid time off, and parental leave. Learn more about our benefits at https://amazon.jobs/en/benefits.