Software Development Engineer
DESCRIPTION We're the Text to Speech (TTS) team at Amazon. We build best-in-class TTS solutions and create magical experiences on Amazon's growing portfolio of speech products.
We are looking for a Software Development Engineer with interest in human languages and/or AI systems. If you want to solve complex problems that push the boundary of speech technologies, this position is for you. If you'd like to create a brand new customer experiences with your software expertise, this position is for you. If you enjoy a collaborative environment, working with amazing engineers and scientists, this position is for you.
A day in the life
As a Software Development Engineer in text-to-speech, you may start your day looking at dashboards and observe service health trends and customer metrics. You will join the standup and engage your peers' progress on a cross-functional team. You got a feature request from a peer to develop a convenience function and you triage it and put it in a prioritized backlog. You then focus on a design on how to better scale our backend systems to deliver a new type of long-form audio experience. After lunch, you attend a monthly briefing from the Product team.
About the hiring group
Our team mission is to develop best-in-class spoken word products by inventing industry-leading TTS technologies for long-form contents. The team consists of software engineers, machine learning scientists, speech specialists, computational linguists, Product and program managers. You'll work directly with Amazon Principal Engineers to ideate and iterate on designs and big ideas.
• Collaborate with experienced cross-disciplinary Amazonians to conceive, design, and bring to market innovative products.
• Design and build innovative technologies in a large distributed computing environment and help lead fundamental changes in the industry.
• Create solutions to run predictions on distributed systems with exposure to innovative technologies at scale and speed.
• Build distributed storage, index, and query systems that are scalable, fault-tolerant, low cost, and easy to manage/use.
• Ability to design and code the right solutions starting with broadly defined problems.
• Work in an agile environment to deliver high quality software.
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 with various processes in the full SDLC (e.g. coding standards, code reviews, source control, build systems, CICD, maintenance, updates)
• Knowledge of speech technologies and natural language processing
• Experience with machine learning
• Efficient technical communication with peers and non-technical cohorts
• Experience with architecting highly distributed, high-performance systems