- 6+ years professional experience in software development
- Programming experience with at least one modern language such as Java, C++, C#, or Python
- Understanding of scalable computing systems, software architecture, data structures, and algorithms
Alexa AI, the speech processing and personal assistant technology behind Amazon Echo, is seeking a software engineer for our Data Curation Services organization, based out of Amazon’s state-of-the-art Kendall Square/Cambridge, Massachusetts Development Center.
At Alexa's Machine Learning Data Platform (MLDP), we build the data services that enable the fast, secure, and massive scale ML that delivers delightful Alexa interactions to users.
The MLDP Data Curation Services organization makes that data reliable and available to Alexa data scientists with features, signals, and transformations pre-computed and delivered in near real-time, helping to make Alexa the world's fastest developing and most engaging voice assistant. As a member of the DCS org, you will be responsible for building massive scale platform services and features that provide ML-ready data to Modelers, Data Scientists, and Software Engineers that allow them to move fast, with enhanced insight into the data. You will have the opportunity to work directly with the ML Scientists, tools, and processes that power Alexa.
Within Data Curation Services, the Data Enrichment Services team enables the Alexa ML community to describe the data features and transforms they need via self service interfaces in order to effectively and efficiently train their models. You will build the services that understand Scientists data needs, perform large scale computations, and deliver data for experimentation, training, and near real-time personalization.
In the Machine Learning Data Platform organization, you will work in a highly collaborative and supportive environment across all stages of an agile software development lifecycle, including architecture design, development, documentation, testing, and operations. You will build ML services using AWS at huge scale found nowhere else. Your efforts will support the successful and well-loved Alexa powered products. Our combination of challenging technical problems, critical services, and a quickly growing organization will provide you with unique opportunities for career growth.
What you'll be doing:
Your background and who you are:
- Solve distributed systems problems at Alexa scale by writing code (mostly in Java and Python).
- Design, implement, and operate large scale 24x7 services using Java, Python, and AWS services such as EC2, S3, Kinesis, Lambda, DynamoDB, and many more.
- Collaborate with AWS solutions architects and other software engineers. Our team is the largest customer of several AWS offerings in the world, and we are constantly testing the limits of those offerings.
- Provide technical guidance on software design, architecture, patterns and practices.
- Help your team self-organize and create software development processes and practices that will work best for you and your teammates.
- Build relationships with your customers, partner teams, and the engineers on your team.
- Designing and implementing critical components, helping define the architectural vision, collaborating with partner teams across the organization, and mentoring and developing more junior engineers
- You have experience reliably delivering high-quality, distributed, testable, and scalable software. You are driven by delivering value to your customer.
- You love to work with teams that are always raising the bar. You believe that a team is strongest when it is diverse and includes multiple perspectives.
- You enjoy the challenges of highly technical problems that you define and solve in real time.
- You believe that there are multiple ways to solve a problem, each with different trade-offs. You don't typically think in terms of the "right" or "wrong" way to do something, but rather the most effective path given the current constraints.
- You are excited by the technical challenges of large scale service development from architectural design, to implementation, to operations.
- You put yourself into your customer’s shoes and immerse yourself in the customer experience to understand how to serve them better.
- You've made mistakes in the past, have learned a lot from them, and apply these learnings regularly.
- You want to have an impact on a hugely successful and growing product that improves people’s lives.
- Experience developing cloud and distributed software services and an understanding of design for security, availability, and performance.
- Development experience defining, developing, and maintaining REST based interfaces.
- Sharp analytical abilities and proven design skills.
- Strong sense of ownership, urgency, and drive.
- Demonstrated leadership abilities in an engineering environment in driving operational excellence and best practices.
- Proven results and a history of project delivery
- Excellent verbal and written communication skills
- Ability to work well with a diverse team