Amazon Advertising is the digital advertising arm of Amazon and one of our fastest growing businesses. We operate at the intersection of commerce, entertainment and advertising, offering unique advertising products (Sponsored Products, Sponsored Brands and Sponsored Display), enterprise ad tech (Amazon DSP, Amazon Marketing Cloud, Amazon Publisher Services) and a rich array of unique creative, format and measurement solutions.
We offer advertisers premium brand placements on our owned and operated properties, including Prime Video ads, UEFA Champions League, FreeVee, Prime Video sponsorships, Twitch, and FireTV as well as on third-party publishers via Amazon Publisher Direct.
We start with the customer and work backwards in everything we do, including in advertising. We believe that advertising, when done well, enhances the customer experience with delightful discovery for consumers and compelling performance for advertisers.
The insights we deliver to advertisers and their partners enable them to build unique connection with consumers, from first discovery to loyalty in a unique and compelling way versus any other media platform at scale.
We are seeking a talented and experienced Full-Stack Developer with a background in Machine Learning to join our team.
You will be responsible for designing, developing, and maintaining robust and scalable Machine Learning applications and APIs.
You will work closely with our cross-functional teams to deliver high-quality software solutions. The role requires expertise in back-end technologies, excellent problem-solving skills, and a passion for staying up-to-date with the latest industry trends.
The ideal candidate will have a strong background in ML application development and possess expertise in technologies such as PyTorch, TensorFlow, Sagemaker, and distributed systems
Key job responsibilities
- Design, Develop and maintain data intensive web applications and APIs using a variety of technologies, including but not limited to Scala / SQL / PySpark, JavaScript, Python, Ruby, and Java.
- Collaborate with product managers, scientists, and fellow developers to understand requirements and translate them into functional and technical specifications.
- Write clean, efficient, and maintainable code while adhering to best practices and coding standards.
- Implement and maintain authentication and authorization mechanisms for APIs and applications.
- Optimize applications for maximum speed, scalability and reliability.
- Troubleshoot and debug issues, and propose solutions to ensure the performance, security, and usability of applications.
- Stay updated with emerging technologies and industry trends to continuously improve our software development processes and practices.
- Experience with caching techniques and tools like Redis or Memcached to reduce database load and improve response times.
- Good understanding of distributed computing technologies such as data pipelines, Scala, SQL, PySpark, Trino and etc.
- Skills in profiling and optimizing code for performance, including identifying and resolving bottlenecks in API response times.
- Experience with RESTful API design and implementation.
- Familiarity with containerization and orchestration tools like Docker and Kubernetes.
- Mentor and provide technical guidance to junior developers as needed.
- Work closely with applied science teams.
BASIC QUALIFICATIONS
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with at least one software programming language
PREFERRED QUALIFICATIONS
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent
- Experience in machine learning, data mining, information retrieval, statistics or natural language processing