Job details
Job type full-time
Full job description
3+ years of programming experience with at least one modern language such as java, c++, or c# including object-oriented design
2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
4+ years of professional software development experience
Bs in computer science or equivalent.
5+ years of industry experience.
4 years of programming in one or more object-oriented languages like java/python/c#/ruby/objective c/c++
Experience building scalable infrastructure software or distributed systems for commercial online services.
Interested in amazon alexa, machine learning and artificial intelligence? we’re building the speech and language solutions behind amazon alexa and other amazon products and servicesCome join us!
Our alexa spoken language understanding analytics team (part of alexa a.i.) is seeking a talented, self-directed senior software development engineer to help us pioneering new machine learning tools and processes through an iterative research and development cycleYou will build scalable, self-serve applications grounded in data science techniques for use across the alexa machine learning organizationYou will have significant influence on our overall strategy as you work with a small team of subject matter experts, engineers, and product managers to define features, system architecture, best practices, and a long-term architecture and software strategy for the analytics suiteYou will work with and guide other engineers on the team to execute our technical vision and create a world class product.
Creating reliable, scalable, and high performance products requires exceptional technical expertise, a sound understanding of the fundamentals of data & computer science, and practical experience building large-scale distributed systemsThe ideal candidate will be a self-starter who can dive into a project with limited guidance and is able to design and implement inventive, simple solutions to complex problemsHe or she will be passionate about new technologies and have a track record of delivering valuable software features and products in a fast-paced, highly iterative environmentA commitment to team work, hustle, and strong communication skills (to both business and technical partners) are absolute requirements.
Responsibilities:
Design, implement, and operate large scale 24x7 services using java, python, and aws services such as ec2, s3, kinesis, lambda, dynamodb, and many more.
Responsible for the development and maintenance of key backend components and apis
Will work with business and technical stakeholders to determine end-to-end system design and overall technical strategy
Will work with a front end engineer to connect backend components to engaging, user-tested uis
Will work with other team members to jointly own and optimize the alexa ai analytics data pipelines
Will work with other team members to investigate design approaches, prototype new technology and evaluate technical feasibility.
Will occassionally work with other org members to productionize machine learning model pipelines and code (e.g., using spark and pyspark; configure pytorch/tensorflow/mxnet environments)
Help your team self-organize and create software development processes and practices that will work best for you and your teammates.
Will work in an agile/scrum environment to regularly deliver high quality software that has a measurable customer value
Build relationships with your customers, partner teams, and the engineers on your team.
Ms in computer science
Demonstrated leadership abilities in an engineering environment in driving operational excellence and best practices.
Demonstrated ability to achieve stretch goals in a highly innovative and fast paced environment.
Analytical abilities and proven design skills.
Mastery of the tools of the trade, including a variety of modern programming languages (java, javascript, c/c++, objective c, python, ruby, c)
Experience developing cloud software services and an understanding of design for scalability, performance and reliability.
Experience in web/front-end development.
Experience building machine learning pipelines for pattern recognition, clustering.
Development experience defining, developing and maintaining rest based interfaces.
Excellence in technical communication with peers and non-technical cohorts.
Strong sense of ownership, urgency, and drive.
For occasional support in productionizing machine learning models and pipelines:
Programming languages: python, java
Familiar with distributed data processing technologies: spark and pyspark
Able to configure spark properly for good computation performance, such as memory configuration and garbage collection
Able to properly read, write and manipulate datasets with proper data partitioning strategy
Able to write udf for data preprocessing
Able to manage master and worker nodes for distributed computing, and deploy required packages to worker nodes (e.gXgboost)
Practical experience with a deep learning framework: tensorflow, mxnet, pytorch
Understand configuration of pytorch/tensorflow/mxnet environments
Familiar with aws, native aws (naws)
Experience of building and maintaining rest apis
Docker containerization and amazon ami
Familiar with data querying and etl technologies: sql, aws glue, athena, presto
Experience optimizing query performance in distributed systems
Experience building and maintaining production etl pipelines: aws stepfunctions, glue workflows, airflow, luidi, etc.
Able to design and build job manager and job scheduler
Amazon.com is an equal opportunity-affirmative action employer – minority / women / disability / veteran / gender identity / sexual orientation