Senior Software Engineer - Ads Attribution at Twitter
New York City, NY, US

At Twitter, our advertising business went from zero to two billion in revenue faster than any other company. It’s critically important to show that value in a way advertisers understand, trust, and can dig into for more detail.

Are you looking for an opportunity to be a leader on a new team, lead projects, mentor engineers and take your skills to the next level while having a huge impact? Read on.

Who We Are

Does advertising work on Twitter? When an advertiser runs an ad campaign, they are trying to generate some impact on their business, whether increasing brand awareness, or driving users to visit websites, install apps, or make purchases. We provide data to prove the effectiveness of ads campaigns. It’s critical for our advertisers to understand the influence of each advertising impression on a consumer’s awareness, intent, and purchase decision. We are building a highly accurate real-time streaming system with the largest scale of data at Twitter to make this vital information available to internal engineering teams, and to our advertisers.

The timely and accurate view we provide of the real-world impact of our ads feeds into a number of critical functions inside the Revenue organization. The most obvious of these is that the record of the value we’re generating flows into our advertiser-facing surfaces and APIs, enabling our customers to make informed decisions about how to allocate their budgets and optimize their campaigns. The data also flows into our ML prediction models, ensuring that our ad delivery system is learning and optimizing based on the latest available data. Finally, this data is available for analysis and inspection by our product data scientists, allowing our product managers to make data-driven decisions around which features to prioritize. We are a critical part of making ads successful at Twitter.

We primarily code in Scala and our tech stack is comprised of Finatra servers running Kafka Streams to process and join streams of hundreds of thousands of Kafka messages per second, with additional storage in RocksDB, Memcached, GCP Bigtable, and HDFS storing hundreds of terabytes. We also do offline data processing in Druid and Hadoop with Scalding.

What You’ll Do

You will work on all aspects of the attribution pipeline to ensure low latency delivery of accurate attribution data to Twitter's advertisers and internal systems.

    Work with our product managers to understand the requirements for new attribution products and features, design and implement the new APIs and changes to the pipeline.
    Partner with platform engineers to help scale our systems to handle additional use cases and Twitter’s organic growth.
    Interface with one of our machine learning teams to enhance the prediction feedback loop with additional attribution signals.
    Observe and exploit the weak points of our system and build guardrails to increase the fault tolerance, leveraging features in our open source platforms and contributing back to those projects where appropriate./
    Combine a deep understanding of our product requirements with system knowledge to perform storage and processing optimizations for cost savings.

Who You Are

    You are a proven engineer with product intuition. Strong technically and you have shown that you can work effectively with product managers, designers and other engineering teams.
    You have a fierce sense of ownership, caring deeply about the quality of everything that you deliver into your customers' hands.
    You love the challenge of engineering, and are confident in your ability to bring clarity and direction to ambiguous problem spaces.
    You work well in a fast paced environment while deeply investing in long term quality and efficiency.

Requirements

    Strong algorithms, data structures and coding background
    5+ years experience shipping large-scale software
    Experience with Distributed Systems
    Experience developing high volume / high throughput systems for real time processing
    Experience with software engineering best practices (e.g. unit testing, code reviews, design documentation)
    B.S. or higher in Computer Science

Preferred Qualifications

    AdTech and AdServing experience preferred