Advertisers spend a lot of money to develop their ads, and want a guarantee that those ads will actually get shown. Amazon.com’s Display Advertising team builds and manages systems with extreme high performance and availability. To top that off, they’re seeking a Software Development Engineer. YES! You read this right. They serve and respond to hundreds of billions of requests annually, and have ambitions to grow that number several orders of magnitude, while maintaining response latencies in the milliseconds and meeting strict SLA requirements. They delight in data, and are constantly trying to enrich their models and make more informed decisions using every bit and byte they have. Their current systems serve the current needs, but they are growing a new business within Amazon.com, and are looking for the sort of hands on leaders and developers who can design and build the systems that will take them into the future.
The ideal developer for this space will be highly quantitative, have great judgment and passion for building a great customer experience, be inventive, and have a strong track record of delivery. If you’re looking for a career where you’ll be able to build, to deliver, and to impress. You look at problems holistically, and thrive on the intricate complexity of designing feedback loops and ecosystems. You want to work on projects where you are implementing solutions to real problems that require creative solutions and deep understanding of the problem space. To challenge yourself and others to constantly come up with better solutions.
Who is the ideal Software Development Engineer for Amazon?
This highly visible role requires frequent communication with senior leadership in order to help shape and deliver on the product roadmap, and requires you to nimbly switch between strategic and tactical initiatives to achieve technical, business, and customer experience goals. As the mobile ad server, it is important that we can meet the demands of the mobile Class 1 program and guarantee that we can optimally deliver advertiser campaigns to meet the goals of the media plans.
This requires tight integration with inventory forecasting systems and also the development of high performance distributed aggregation services to ensure that the ad servers are always working with a current knowledge of the state of all campaigns. This program is also extended to enable desktop Class 1 programs to be served on owned and operated properties with global parity and provide suitable diagnostics and control panels to enable campaign managers and ad operations to rapidly diagnose and resolve delivery issues.
You’ll need to design a system that will be able to manage the complexity of thousands of semi-independent overlapping feature dimensions to predict future inventory volume on any combination of those dimensions, and optimize the allocation of that predicted inventory, all while providing the ability to responding to inquiries and honor reservation requests.
Recognizing the needs of the Amazon Display Advertising (ADA) and Mobile campaigns, we are going to develop and release a 3rd party ad server (3PAS) to enable our customers to develop media buys across 3rd party web sites, fully leverage the Amazon data for targeting and tracking performance of those media buys. This will provide better control and security over Amazon anonymized data and will potentially extend to other advertising programs to enable solutions for our advertisers.
Bachelor’s Degree in Computer Science or related field, or 4+ year relevant professional experience in software development. Strong Computer Science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis. Advanced software engineering skills, including the ability to write expert-level, maintainable, and robust code in a popular object oriented language like C#, C++, or Java. Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs.
Experience building distributed software systems that have been successfully delivered to customers. Experience working with one or more major server technologies (SpringMVC, Node.js, Ruby on Rails, etc.). Experience with database-oriented distributed systems. Exposure to Agile and Scrum development methodologies. Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations. Ability to take a project from scoping requirements through actual launch of the project. Experience with vendor management systems is a BIG plus!
What does Amazon have to say about what they are offering?
We’re going to change the way that the advertising world measures, plans, and buys. Along the way, we’re going to face seemingly impossible problems. We’re going to argue about how to solve them, and we’ll work together to find a solution that is superior to each of the proposals we came in with. We’ll make tough decisions, but we’ll all understand why. We’ll be the dream team.