Sr. Software Development Engineer
"Alexa find me a job on the Alexa Knowledge team!"
Our focus in the Alexa Knowledge team combines natural language understanding, acquiring large volumes of structured knowledge, and building autonomous machine reasoning to allow our customers to get answers to their questions in the most natural way possible. We're part of a huge research and engineering effort on the Amazon Alexa team.
We've solved many complex problems to get to where we are today, but there are still plenty of challenges ahead of us, and Alexa is getting smarter every day. The problems we solve in the Alexa Knowledge team in Cambridge help Alexa get smarter by understanding the different ways people talk, by learning more and more facts about the world, by improving her common sense reasoning and by responding in the most natural way possible in multiple languages. We set out to build Alexa at Amazon because we believe that voice will fundamentally improve the way people will interact with technology, and we wanted to create a computer that could be controlled entirely by your voice.
On the Alexa Knowledge team, we are constantly making Alexa smarter by enabling her to learn about what's going on in the world. We use many different techniques to enable learning and reasoning across a range of structured and unstructured data. We are constantly at the forefront of both research and engineering in understanding user demands and data sources, to extract the right knowledge, expand the range of, and how, Alexa accesses information - all to improve Alexa and give users the best experience. We believe that the information to answer (almost) every question can be found somewhere on the internet, and not just in an encyclopedia. Our goal is to teach Alexa how to autonomously consume a wider range of texts and expand her Knowledge Graph to learn more about the world.
As a senior software development engineer in the team, you will lead the teams technical charter, inventing, designing and building software in ambiguous and complex domains. You take ownership of team architecture, providing a system-wide view and design guidance, making things simpler and driving engineering best practices and will proactively and independently work to improve the consistency and integration across teams, with limited guidance, exploring re-use or extending existing solutions. You understand the business impact of your systems and show good judgment when making technical trade-offs between your team's short-term business or operational needs and long-term technology needs. You are a key influencer in team strategy, and you drive mindful discussions with customers and peers. You bring perspective and provide context for current technology choices and guide future technology choices. You work to resolve the root cause of endemic problems including areas where your team limits the innovation of other teams (bottlenecks). You will deliver solutions at scale, as you work with multiple functional teams from asset acquisition, product and design, and delivery teams. We have strong links with many teams within the Alexa organization who are all running fast to make Alexa better and you will keep us ahead of those dependencies. You will actively participate in the hiring and developing of others, providing technical assessments for engineering promotions and contributing to professional development of colleagues. BASIC QUALIFICATIONS
• Non-internship professional software development experience
• Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
• Experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
• Bachelor's degree and/or Master's degree in Computer Science or equivalent.
• 7+ years of software engineering experience with advanced software engineering skills, including the ability to write expert-level, maintainable, and robust code in Java, Python, C++, C#, Scala or similar languages
• Experience with the full software development life cycle, including source control system, code reviews, build processes, testing, and operations; with a track record of delivering stable and scalable systems.
• Competency in a broad range of design approaches and architectures with the proper level of complexity.
• Excellence in technical communication both in writing and in person with technical and non-technical peers, as well as robust project planning/execution skills including estimating, scheduling, and executing on committed schedules across multiple teams.
• Experience with hiring and the mentorship of engineers PREFERRED QUALIFICATIONS
• Experience with distributed systems and relational/non-relational databases.
• Experience with Big Data tools (e.g. Spark or Hadoop) and at least one functional language (e.g. Scala).
• Experience in effectively partnering with and delivering alongside research and applied scientists.
• Experience with delivering production AI systems
• Practical experience of Amazon Web Services (AWS) technologies.
• Experience in Software Development in fields incl. Machine Learning, Computational Linguistics, Natural Language Processing, Semantic Web, or Applied Mathematics