Are you excited to work on a product which is used by millions of customers on a daily basis? Come and join the Alexa Reminders team. Our team owns several high volume features and 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.
The Role:
We are looking for a 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 a Software Development Engineer in the team, you will contribute to define the software architecture to support this vision and work in 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 collaborate on cross organizational projects, ensuring our service and other Amazon services are designed to work in conjunction.
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.
Key job responsibilities
- Define or 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.
A day in the life
You will be collaborating with your peers to find solutions to build and improve our services. Your peers include other engineers, voice designers, program managers and product managers. You will work in groups to find the best solution for our customers and build and maintain the software to bring those solutions to our customers.
- 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
- Experience programming with at least one software programming language
- 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