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 Software Development Engineer to drive and define the technology and product vision for Alexa Timers. 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.BASIC QUALIFICATIONS
• Bachelor's degree in Computer Science or related field
• +1 years of software development experience
• Design and architecture experience, as well as sound knowledge with object oriented design patterns
• Experience working on a large scale deployments and performance tuning
• Engineering process experience with the Software Development Life Cycle (SDLC) principles
• Mastery of the tools of the trade, including a variety of modern programming languages (such as Java, Python, C#) and open-source technologies (such as Linux, SQLite, OpenGL, Spring, Hibernate)PREFERRED QUALIFICATIONS
• Masters and/or PhD degree in Computer Science
• Experience with Agile Development techniques
• Demonstrated project management skills across multiple stakeholders. Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs.
• A deep understanding of distributed and service-oriented architectures. Delivered large scale commercial enterprise software systems or large scale online services
• Excellent judgment, organizational, and problem-solving skills
• Outstanding written, presentation and communication skills
• Driven to provide the best customer experience
• Fast learner, enjoy a fast paced environment, and driven to get issues to conclusion
Software and Programming