Software DeveloperII,Distributed Systems (C, C++ or Java)AppNexus' mission is to build a better Internet. As a pioneer in real-time technology, we have developed our platform to make our advertising solution one of the fastest, most reliable, and massively scaled systems in the industry.As a transparent and independent partner for some of the largest publishers and advertisers,AppNexushelps ensure that the Internet stays open and free.Over the past 3 years, our platform has scaled from processing 300k QPS to over 5 million QPS, totaling approximately of 100 billion requests per day. These events generate more than 150 TB of new dataeachday. Engineers work on the real-time components to optimize our software for performance,memory usage, 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 forAppNexus. We work under strict real-time constraints, responding to and executing dynamicand customizableauctions in less than 100 milliseconds.AppNexusis seeking a Software Developer II to join the Real Time Platform team. This teams builds large, distributed components that execute and process billions of requests that seamlessly connect advertisers to consumers and ensure that publishers are compensated for their ad space and content. The Real Time Platform group handles everything from the APIs used by clients to setup their buy-side and sell-side configurations to the highly customized web services that run the 100ms auctions.Consider some of the problems you will try to solve:Large-scale distributed systems: Our real-time budget problem requires a low-latency feedback loop, pushing updates on millions of objects to thousands of machines using our custom caching solution, all while observing strict SLA requirements.Interesting algorithmic problems: Optimize revenue, memory footprint, and overall algorithmic efficiency, making use of the latest research and techniques, high end hardware, lock-free data structures, intelligent thread design, and system architecture.Programming, probability, and statistics: Client success depends on the ability to accurately predict and track the performance ofthousands of advertising campaigns that bid on a cost per impression, cost per click, cost per acquisition, or cost per view basis, all while staying within our 100ms time limit.About the job:Design and implement new features and enhancements to our platform that require hard real-time constraints and elegant, yet powerful software solutionsCollaborate within a small functional team with diverse technology backgrounds, as well as across multiple functional teams that develop systems and integrate across the platformDeploy regular code releases to production and test environments; prioritize bug fixes to ensure critical up-timeBe responsible for the general health of the global real-time applications that must be operational 24/7/365Participate in design discussions about new features and ensure real-time technology integrates seamlessly with other pieces of the platformAbout your skillsand experience:BA/BS degree and 3+ 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++,Golang, or Java, with excellent and creative problem-solving abilitiesExperience building high performance, multi-threaded, distributed systems and applications, preferably in a Linux environmentExperience practicing advanced optimization techniques and with performance analysisExperience with real-time data processing engines, ultra-low-level, and low latency systems is preferredExcellent 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 othersYou like to take risks when looking for novel solutions to complex problems. If faced with roadblocks, you continue to reach higher to make greatness happenYou 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 ecosystemYou believe in not only serving customers, but also empowering them by providing knowledge and toolsLearn. Teach. Build.AppNexians make greatness happenJoin our communityAppNexus is proud to offer equal opportunity in all aspects of employment. We strive to foster a diverse, inclusive and engaging work environment. We welcome applications from all candidates and look forward to receiving yours! Our inclusivity in action:Partnering with Path Forward to offer returnships to help caregivers reenter the workforceSharing feedback openly through roundtable discussions on how to make progress on our Diversity & Inclusion goalsGalvanizing diversity and inclusion through our affinity groups (including OutNexus, AppNexus Women's Network, AppNexus Latino Alliance and BlackNexus to name just a few!)Partnering with Fairygodboss to support our commitment to women's advancement in techProviding reasonable accommodations for persons with disabilities, both in for interviewees and for employees. Should you require an accommodation, please let us know at your earliest convenience so that we may make arrangements
AppNexus provides trading solutions and powers marketplaces for Internet advertising.