Description de l'offre
Amazon is investing heavily in building a world class advertising business and we are responsible for defining and delivering a collection of advertising products that drive discovery and sales. Our products are strategically important to our Retail and Marketplace businesses driving long term growth. We deliver billions of ad impressions and millions of clicks daily and are breaking fresh ground to create world-class products.
Within Amazon Advertising, our team owns the real time distributed engine that executes payments for our advertising customers. This engine currently fields millions of payment requests but with the unprecedented growth rate of the business, we need to revisit the architecture with a special focus on scalability. As we support multiple new businesses and programs, we are looking for engineers to revisit this distributed system to deal with an ever-growing volume while reliably maintaining “exactly once delivery” semantics. This system also needs to have a high bar on accuracy as eliminating the smallest payment defects are a key to earning trust with our advertisers.
Our team also owns the mandate for fraud management. Engineers on the team will be a part of building out predictive risk scoring algorithms based on real time signals. These algorithms will help control features that are available to eligible advertisers and complement the machine learning initiatives to detect and prevent suspicious activity on our platform.
All of our systems tend to be loosely coupled, communicating using synchronous and asynchronous messaging, leading to a classic distributed processing architecture. We are looking for talented Engineers who enjoy working on creative algorithms, building large-scale systems and who thrive in a fast-paced and fun environment.
As an engineer you would design business critical systems, write high quality code and mentor other junior engineers. You should have owned, designed and delivered multiple products. You have deep knowledge of Java/C++, Object-oriented Design, Service Oriented Architecture and you are passionate about building massively scalable solutions and distributed systems.
· Bachelor’s Degree in Computer Science or related field
· Equivalent experience to a Bachelor's degree based on 3 years of work experience for every 1 year of education
· 3+ years professional experience in software development
· Computer Science fundamentals in object-oriented design
· Computer Science fundamentals in data structures
· Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
· Proficiency in, at least, one modern programming language such as C, C++, Java, or Perl