As a Software Engineer on the Alexa Artificial Intelligence Distributed Machine Learning Product Platform team, you will help Alexa better-understand humans with each passing day.
Here at Alexa AI, all the models that drive Speech Recognition and Natural Language Understanding for Alexa require a massive amount of distributed computing power. Creating an efficient computational platform architecture that serves both experimental and production use-cases entails solving a wonderfully fun and challenging set of problems. We need well-intentioned and scalable software to secure, provision and distribute complex workloads on massively paralleled GPU-accelerated computing clusters used by thousands of Amazon's Machine Learning scientists and engineers. This is an environment where you can pursue and expand an ML engineering career, and being at the forefront of engineering and product innovation in our industry.
What you'll be doing
· Writing code most of the time (Primarily in Java and Python).
· Utilizing AWS Compute, Networking, Security, Storage, and Database services such as CloudFormation, EC2, S3, EBS, Lambda, AutoScaling, and DynamoDB, and many more on a daily basis.
· As a member of the team, you'll contribute to the architectural vision for a world-class, and massively scaled ML compute platform.
· As an Amazon leader, owning the product areas that you are passionate about and solves major customer pain, becoming the advocate and driving the product and technology development and expansion within our ecosystem.
· Growing and mentoring software engineers. Working with them to identify great projects and features that will help them grow in their careers.
· Contributing with technical guidance on software design, architecture, patterns and practices.
· Helping your team self-organize and create software development processes and practices that will work best for you and your teammates.
· Building relationships with your customers, partner teams and the engineers on your team.
· You have a number of years of experience delivering high-quality, distributed and scalable software.
· You've made a bunch of mistakes in the past and have learned a lot from them. You apply this learning regularly.
· You believe there are generally multiple ways to solve a technical problem, each with different trade-offs. You don't typically think in terms of the "right" or "wrong" way to do something.
· You approach projects, tasks, and unknowns with curiosity, and enjoy sharing what you know and what you learn with the people around you.
· You believe that a team is strongest when it is diverse and includes multiple perspectives.
· You are able to put yourself into your customer's shoes. You frequently immerse yourself in the customer experience to understand how you can better serve them.
Ideal candidate profile
· BS/MS in Computer Science or equivalent.
· 3+ years of industry experience.
· Programming experience in C, C++ and/or Java (or other OO languages) in Linux and/or Windows environment.
· Experience building scalable infrastructure software or distributed systems for commercial online services.
· Excellence in technical communication with peers and non-technical cohorts.
· Demonstrated leadership abilities in an engineering environment in driving operational excellence and best practices.