Who we are:
The Ads Serving team builds the most critical systems and infrastructure in our whole business that's directly responsible for our multi-billion dollar revenue stream.
What you'll do:
Build the world's best ad server: The ad server is composed internally of several core "tier-1" services (services with strict SLAs around high availability). You will play a direct role in designing, developing and operationalizing these high performance, scalable, reliable and resilient services. In doing so, you will interact with several subsystems and sister teams such as our Prediction, Targeting, Data Infrastructure, Callback systems, User Modeling, Marketplace, Billing, and Ad Formats teams. Ads is serious business, and ad serving is a highly complex space. This role will stretch your capabilities, and challenge you to come up with the best, most effective engineering architecture to address the complex demands of the business.
Since we are the delivery engine for all our ads, we play a central role in the Revenue organization and you will have the opportunity to collaborate closely with our Science (ML) and Product stakeholders in building new features and services in our ecosystem.
Grow your ownership and expertise from the component of the service, microservices and finally full end-to-end serving systems. Identify system bottlenecks and drive operational excellence by improving system reliability and operability of our services.
What else can you expect:
We believe that people are our strongest asset, and take a special interest in each and every one of our engineers. You can expect a real investment in your professional growth, and a commitment to crafting a strong, sustainable career for you. Our teams are composed of highly talented and passionate 'A' players, and you'll get the mentorship and coaching you deserve to hone your skills and expertise. Our vibrant culture and work environment will kindle your passion and bring out the best in you!
Who You Are:
You're someone with a lot of potential who is constantly looking for real engineering challenges to tackle and hard problems to solve. You want to own significant projects while working in small teams of highly-talented, passionate engineers. The prospect of getting to work with an open-source tech stack that powers a solution people around the world love to use, and where massive volumes of data are extracted in real-time excites you. You want to be mentored by amazing engineers; you want to see continued investment in you by the business, and you expect excellence in everything. You see your future self as a force multiplier (and not just a great technical resource for an employer). You see challenges as opportunities and you're looking to jump ahead of the pack in your career. You're applying to this role because you're hoping for a chance to jump in and see what you can do to make a difference in an iconic software company.
2+ years of professional experience with software engineering best practices (e.g. unit testing, code reviews, design documentation)
Strong CS fundamentals: algorithms, data structures, design patterns, etc.
Backend development experience with a solid foundation in fault-tolerant and resilient distributed systems, concepts of asynchronous programming, concurrency, performance analysis, and/or large-scale data processing
Direct experience building systems with online components to them (i.e. they serve requests to users)
Great communication skills
BS, MS, or PhD in computer science or a related field, or equivalent work experience
For bonus points, you would have:
Experience with Storm or other Streaming Compute based technologies
Experience with Cassandra, Redis, Memcached, Spanner or MySQL
Experience with Hadoop or other MapReduce-based architectures
Contributions to the open-source community
Our system serves 15+ billion impressions/ daily, which drives billions in revenue!