Alexa is the Amazon cloud service that powers Echo, the groundbreaking new Amazon device designed around your voice. We believe voice is the most natural user interface for interacting with technology across many domains and are looking for people that will help us shape the future of Alexa.
We are looking for a Senior Software Development Engineer to drive and define the technology and product vision for how Alexa helps in the household. We see Alexa acting as a personal assistant for the house, helping household members organize their daily life and tasks. As the Senior Software Development Engineer in the team, you will define software architecture to support this vision and guide a team of developers to implement it with you. You will work closely with your product and development counterparts to make sure we incorporate customer input into our new service and define requirements to meet technical options. In addition, you will coordinate software development across multiple teams, ensuring our service and other Amazon services are designed to work in conjunction. Since this is a completely new business area for Amazon, you will have a unique opportunity to define our system, architecture and product from infancy, turning a vision into a live product.
We are looking for passionate, hard-working, and talented Software Engineers who have experience building innovative, mission critical, high volume applications. You will have an enormous opportunity to make a critical impact on the design and architecture of cutting edge products used every day, by people you know.
- Be responsible for the architecture of software solutions, determining current limitations and compatibilities between subsystems, selection of new concepts and methodology, and development of core systems/components.
- Lead coding and software development of a complex, cross-functional, customer facing program.
- Design and implement system architecture and underlying components. Establish design principles, select design patterns, and instill best practices for software development across multiple teams
- Anticipate bottlenecks, provide escalation management, anticipate and make trade-offs, and balance the business needs versus technical constraints.
- Work effectively with team members to gain consensus on technical decisions and execute them. We have a big task and collaboration with other development engineers is key for success.
- Ensure that appropriate software engineering practices are employed to deliver high quality results.