Software Engineer - Backend, Revenue Experience Ads Measurement


Remote US, San Francisco

This role accepts applications for work in the locations as noted above. Roles listing 'Remote US' as a location are not currently available in the following states: Colorado, Iowa, and Louisiana.

Company description

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.

Job description

Who We Are:

The Ads Measurement team’s job is to communicate the ROI of Twitter ads to our advertisers, for any of their objectives. It’s critically important to show that value in a way advertisers understand, trust, and dig into for more detail. We develop experimentation and measurement framework to be responsible for tracking $3B+ of revenue. We are a team with expertise in data processing, distributed systems, and external integrations. Our customers are advertisers, ad tech companies, and other Twitter ads teams. Our culture emphasizes creative problem solving, fast iteration and execution. To tackle the huge scope of the work, we are growing our team to own this area and create the next generation of ads measurement foundations at Twitter.

Details about stack:

  • Data Processing: Mapreduce jobs written in Scalding for batch processing and Kafka/Heron for stream processing. 

  • Data Storage : Relational(MySQL), Non-relational database (Manhattan), Cache and HDFS.  

  • Services: Thrift services based off of Twitter Server written in Scala

  • Server: Finatra, web server written in Scala 

Who You Are:

  • You have the ability to take on complex problems, learn quickly, iterate, and persist towards a great solution.

  • You have a fierce sense of ownership, caring deeply about the quality of everything that you deliver into your customers' hands.

  • You communicate fluidly, at the level of your audience, and seek to understand and be understood.

  • You work well in a fast paced environment while deeply investing in long term quality and efficiency.




  • B.S. or higher in Computer Science (or equivalent work experience)

  • 2+ years of hands-on software design and development experience

  • Experience developing large scale distributed systems

  • Experience in one or more JVM based language such as Java or Scala

  • Strong software engineering practices (e.g. coding, unit testing, code reviews, design documentation)


Preferred Qualifications

  • AdTech experience preferred 


Additional information

We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, ethnicity, color, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran, genetic information, marital status or any other legally protected status.

San Francisco applicants: Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.

Engineering hiring process
Step 1

Once your application is received, a recruiter will reach out pending your qualifications are a match for the role.

Step 2

If your background is a match, you may have 1-2 technical phone interviews or be given the chance to provide a work sample depending on the role.

Step 3

If the phone interviews go well or your work sample is strong, the final step includes interviews with 5-6 people via a video conference call.


Read Twitter's Applicant and Candidate Privacy Policy here.

U.S. Equal Employment Opportunity information (Completion is voluntary)
Voluntary Information
Privacy and data