Software Development Engineer - Alexa Knowledge Federation
DESCRIPTION When customers ask Alexa any question, anywhere in the world, our Knowledge Federation system links a broad range of techniques, each of which tries to determine the answer. Our mission, in the Federation team, is to select the best available answer for every question, for that customer, at that time. That's a hard problem!
To get there we need to solve complex engineering challenges to ensure Alexa answers every question in real time even at global scale, on tens of millions of devices. We also need to address fascinating data science and applied science challenges, modelling the difference between acceptable answers and great answers to our customers' questions.
As a Software Development Engineer, you will invent, design and build software in ambiguous complex spaces. You will be part of a team building innovative solutions to better answer customer's questions. You'll take ownership of software components across the full stack, designing, writing code, and driving engineering best practices. You'll resolve the root cause of endemic problems, identify bottlenecks, and continuously improve the operational excellence of the services your team owns.
Your responsibilities will include:
• Delivering high quality code on time as part of a cross-functional team.
• Contributing to team discussions around system component design, improvement and integration.
• Designing and developing high performance, test-driven code.
• Working with and maintaining a large existing code base as well as new components; maintaining production code and contributing to deployment and QA processes.
BASIC QUALIFICATIONS • Bachelor's Degree in Computer Science or related field
• Extensive professional experience in software development
• Proficiency in Computer Science fundamentals such as; object-oriented design, data structures, algorithm design, problem solving, and complexity analysis
• Experience in, at least, one modern programming language such as Java, C, C++, C#, Python.
• Experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
PREFERRED QUALIFICATIONS • Experience in building high-performance, highly-available, scalable distributed systems.
• Knowledge of AWS products including EC2 (with VPC & ELB), DynamoDB, S3
• Robust project design, planning and execution skills.