Software Development Engineer
- Vancouver, Canada
Amazon Digital Commerce powers ordering, subscriptions, and device management for Prime, Amazon Video, Music, Audible, Alexa, and Kindle, amongst other digital businesses. We process billions of digital purchases every year and enable our digital businesses to grow their businesses worldwide. We are on a mission to be earth's best provider of one-time and recurring digital commerce, delivering a seamless and enjoyable post-purchase customer experience.
Would you like to help us build a large-scale Software-As-A-Service (SAAS) solution for all subscription and membership businesses at Amazon? Are you excited about building systems that revolve around distributed state machine from the ground-up with really challenging mix of requirements on availability, latency and consistency? Are you someone who enjoys the challenge of figuring out scalable and reusable technical solutions in the context of business problems with ever-growing complexity? If the answers are yes, our team will offer you all of those opportunities, so please come talk to us!
We build and run mission critical commerce systems that power all subscription and membership use cases at Amazon. We are responsible for managing all aspects of a subscription's lifecycle at scale and providing the right extensibility in our APIs and data model to support the rapidly growing customization needs by the businesses that we support, among which are some the biggest and most complex at Amazon such as Prime world-wide and Alexa smart home subscriptions.
As a Senior Engineer, you will lead projects involving multiple teams in all aspects of the SDLC using an agile process. As the systems need to be built from the ground up, you will have an opportunity to make a long-lasting impact! To be successful in this position you will have a strong background in Algorithms, Data Structures, Java, and NoSQL. The ability to communicate clearly and concisely (both written and orally) and work well in a team are key competencies. You should be able to quickly adapt to new development environments, learn new systems, create reliable and maintainable code, and find creative and scalable solutions to difficult problems. Experience working with high-traffic, scalable services is a plus.
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
• 2+ years of non-internship professional software development experience
• Experienced and knowledgeable in 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
• 5+ years of relevant engineering experience
• Demonstrated ability to hire and develop outstanding software engineers
• Solid software development background including OOD, design patterns, and data structures
• Experience in scalable computing systems, software architecture and proven design skills
• Demonstrated strength in mentoring and influencing others
• Deep hands-on technical expertise
• Excellent verbal and written communication skills
• Strong business and technical vision
• Ability to handle multiple competing priorities in a fast-paced environment
• A deep understanding of software development in a team, and a track record of shipping software on time
• A solid understanding of best practices and techniques regarding web scalability, performance, and security.
• Experience mentoring junior software engineers to improve their skills and make them more effective and productive software engineers.
Back to top