Senior Software Engineer, Real Time Platform

AppNexus

(New York, New York)
Full Time
Job Posting Details
About AppNexus
AppNexus is an internet technology company that enables and optimizes the real-time sale and purchase of digital advertising. Our powerful, real-time decisioning platform supports core products that enable publishers to maximize yield; and marketers and agencies to harness data and machine learning to deliver intelligent and customized campaigns. Headquartered in New York City, AppNexus employs over 1000 professionals in offices spanning five continents.
Summary
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.
Responsibilities
* 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:** * Design and implement new features and enhancements to our Platform that require hard real-time constraints and elegant, yet powerful software solutions * Work closely with other engineers and our Product teams, to not only make these systems go faster and handle more and more data, but also to build revolutionary new features for our clients. * Prioritize bug fixes to ensure critical up-time * Work collaboratively with other engineering teams to ensure real-time technology integrates seamlessly with other pieces of the platform
Ideal Candidate
* BA/BS degree and 6+ years of experience OR MS degree and 2+ years of experience in software engineering (Degree in Computer Science or related field preferred) * 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. **More about you:** * You are passionate about a culture of learning and teaching. You love challenging yourself to constantly improve, and sharing your knowledge to empower others * You like to take risks when looking for novel solutions to complex problems. If faced with roadblocks, you continue to reach higher to make greatness happen * You care about solving big, systemic problems. You look beyond the surface to understand root causes so that you can build long-term solutions for the whole ecosystem * You believe in not only serving customers, but also empowering them by providing knowledge and tools

Questions

Answered by on
This question has not been answered
Answered by on

There are no answered questions, sign up or login to ask a question

Want to see jobs that are matched to you?

DreamHire recommends you jobs that fit your
skills, experiences, career goals, and more.