Software Development Engineer - Search Data and Machine Learning Service

Amazon.com - Palo Alto, CA (30+ days ago)3.6


Job Description
Amazon Search creates powerful, customer-focused search and advertising solutions and technologies. Whenever a customer visits an Amazon site worldwide and types in a query or browses through product categories, A9 Product Search services go to work. We design, develop, and deploy high performance, fault-tolerant distributed search systems used by millions of Amazon customers every day. Our Search Infrastructure team designs, builds, and delivers large-scale distributed systems that support traffic to one of the Internet’s premier destination sites.

The Search Data and Machine Learning Engineering team designs, builds, and operates distributed infrastructure, and applications to process and analyze the petabytes of data that flow through Amazon Search. Our systems power research, train machine learning models, deliver ranking data to our production systems, and provide business insight into Amazon’s retail business. Our data powers live-site features, including search suggestions, query understanding, spelling, search result ranking, and personalization. We are located in downtown Palo Alto, a short walk from numerous shops and restaurants, and right across from the Caltrain station.

As a Senior Software Development Engineer, you will:
Own full life-cycle projects - requirements definition through deployment and production operations
Champion and define best engineering practices, mentor more junior engineers.
Focus on scalability, latency, fault-tolerance, and cost efficiency in every system built
Become an expert in modern AWS services including EMR, Glue, Athena, Spark and SageMaker
Participate in setting a vision and objectives for the team in alignment with business and market needs
In this role, you’ll experience the benefits of working in a dynamic, entrepreneurial environment, while leveraging the resources of one of the world's leading internet companies. We create datasets, tools, and services that allow data scientists, Machine Learning experts, and engineers to perform new analyses and create new ML models and systems. You will grow your career by being a design leader and key contributor to systems that process billions of records per day and influence the outcome of every product search on Amazon.

Basic Qualifications
Bachelor's degree in Computer Science or related technical field.
At least 7 years of object-oriented programming experience in Java or C++.
At least 5 years of experience in distributed systems design and algorithms.
At least 4 years of experience in Python (or equivalent) and SQL
Preferred Qualifications
Large-scale distributed systems experience, including scalability and fault tolerance.
Prior experience with big data processing and analysis software (e.g., Hadoop, Hive, Spark, Presto, Kafka, Oozie, and similar)
Experience with AWS services like EMR, Redshift, Athena, RDS, and EC2.
Contributions to relevant Open Source projects.
Understanding of database and query optimizations at scale.
Strong computer science fundamentals in data structures, algorithms, and complexity analysis.
A continuous drive to explore, improve, enhance, automate and optimize distributed systems and tools.
Exposure to information retrieval, statistics or machine learning
Graduate degree in computer science or related field (MS or Ph.D.).