Principal Engineer, Real Time Platform
Principal Engineer, Real Time Platform
The AppNexus Platform was built upon the foundation that we could help our clients buy and sell media in the most effective and efficient way possible. AppNexus has since then become a pioneer in developing real-time technology into various aspects of our platform stack to make our advertising solution one of the fastest, most reliable, and massively scaled systems in the industry. In the past 3 years, we've grown from processing 300k QPS to over 5 million QPS for an approximate total of 100 billion requests per day. These events generate more than 150 TB of new data every day. Engineers work on the real-time components to optimize our software for performance, space, and algorithmic efficiency. This is an energizing community of engineers that is committed to building dependable products – the software and systems being built drive our real-time bidding business along with a multitude of other core initiatives for AppNexus. We work under strict real-time constraints, responding to and executing real-time, dynamic auctions in less than 100 milliseconds.
Consider some of the problems you will try to solve:
Large-scale distributed systems: Our real-time budget problem requires pushing updates on millions of objects to thousands of machines using our custom caching solution all while observing strict SLA requirements. Interesting algorithmic problems: Use the latest research and techniques to make full use of the underlying hardware and instruction sets, utilizing things like lock-free data structures and intelligent thread design to optimize revenue, memory footprint, and overall algorithmic efficiency. Programming, probability and statistics: We predict and track the performance of thousands of advertising campaigns that bid on a cost per impression, cost per click, and cost per acquisition basis. Now try to do this at 5 million times in 100ms or less.
About the job:
Provide technical leadership to fellow engineers in the development of a robust, enterprise-grade platform that requires hard real-time constraint Make substantial contributions to AppNexus’ intellectual property Own large portions of the architecture of a platform that has direct impact on the direction of our industry Participate in regular architecture reviews and provide direction that improves the design Work closely with other engineers and our Product teams, to not only make these systems go faster and handle more data, but also to build revolutionary new features for our clients Analyze and improve our software development life cycle processes (e.g. testing, building, deployment, monitoring, etc.) Participate in the process of building our teams; including recruiting, interviewing, and onboarding Contribute to the planning process of project development and ensure timely delivery of asset to production Build an understanding of the on-line advertising ecosystem and use your engineering expertise to build innovative solutions
About your skills:
BA/BS degree and 10+ years of experience Experience using either C, C++, or Java, with excellent and creative problem-solving abilities Experience building high performance, multi-threaded, distributed systems and applications, preferably in a Linux environment Experience practicing advanced optimization techniques Experience with real-time data processing engines, ultra-low-level, and low latency systems is preferred Excellent Computer Science fundamentals with regards to data structures, algorithms, time complexity, etc.
Hiring Manager: Andrew Sweeney
Recruiter: Nick Braun
Meet Some of AppNexus's Employees
Director, Account Management
Pamela’s team of Account Managers—based in New York—work within the Publishers Business Unit—finding and supporting strong partnerships with strategic demand clients.
Back to top