You're using an older version of Internet Explorer that is no longer supported. Please update your browser.

Senior Software Development Engineer

Toronto, ON
Full Time
6 days ago

Join us to advance the state-of-the art in database technology and serve customers all around the world.

Our team develops Amazon DocumentDB (with MongoDB compatibility), a fully-managed cloud database that enables customers to persist JSON documents and retrieve them with a powerful query language. We are developing new query capabilities, pushing the bounds of performance, driving distributed systems innovation in scalability and high availability, and investing in user experience.

As a senior engineer on the team, you will collaborate with colleagues on research, prototyping, software design, and implementation. Our technical problems span all aspects of database systems - multiversion concurrency control (MVCC), transactions, query optimization, data storage, indexing, parallel computation, wire protocol translation/compilation - as well as distributed systems, telemetry, build and deployment technology, and API and UI design. You may choose to focus on an area, work across areas, or rotate over time. You will have the opportunity to interact with customers and to work with product managers to define product improvements. You will solve hard problems, grow your skills, and mentor others along the way.

If you are excited by the prospect of making it easier for customers to store, query, and analyze data at scale; if you are interested in databases, operating systems, distributed systems, and/or developer tools; and if you are looking to work with teammates to propose ideas, experiment, learn, and build great software - we would love to hear from you.


• A bachelor's degree in Computer Science or equivalent knowledge and skills
• At least five years of experience writing production code solving problems of increasing complexity
• Skill in at least two programming languages used to build databases or distributed systems, e.g. Java, C++, Go
• Experience applying object-oriented and/or functional design
• Experience defining and/or refactoring software architecture
• Experience leading a technical project across multiple engineers
• Experience mentoring other engineers, formally or informally


• Experience with Linux
• Experience communicating with users, other technical teams, and senior management regarding product strategy and requirements, execution status, and technical designs
• Experience getting things done through collaboration with engineers on multiple teams
• Experience with any of the following is a plus:
• Designing, building, or evolving databases or operating systems
• Designing, building, or evolving distributed systems
• Designing, building, or evolving developer tools
• Operating 24x7 production systems
Amazon is an Equal Opportunity-Affirmative Action Employer - Minority / Female / Disability / Veteran / Gender Identity / Sexual Orientation
Software and Programming