Sr. Software Engineer - Revenue Processing Platform (RP-1)
Who We Are
We are a team within Twitter’s Revenue Platforms organization, responsible for all of ads revenue processing ($2B+) and Twitter’s payments platform. We call ourselves RP-1 after the rocket fuel and love the analogy, because we calculate and bring in revenue - fuel that powers our rocket ship - Twitter!
Together with other teams in the Revenue Platforms organization, we’re on a mission to build a strong platforms foundation to enable a multi-fold growth of Twitter’s revenue. Our goal is to accelerate the pace of execution for the entire Revenue organization, and our plans for 2018 and beyond include structural overhauls and redesigns of existing systems as well as building new services from scratch. We’re just getting started here!
Twitter’s revenue depends on RP-1 because we:
- Compute how much advertisers owe Twitter and how much Twitter owes its partners and publishers. The computation is handled by the scalable and reliable online and offline pipelines that efficiently process an average of over 250,000 transactions per minute with a micro-dollar precision.
- Enable payments functionality for advertisers, and in not-so-distant future, for other Twitter revenue streams.
- Equip advertisers with various types of funding sources to fuel their campaigns (a funding source provides a campaign with money it needs to run).
What You'll Work On
Given the enormity of the tasks we face, you will help us build and evolve the mission-critical systems that deal with money:
- Revenue Processing -- you’ll help re-architect and improve systems and services responsible for the ever-growing volume of critical revenue data, both in real-time and offline. You’d be building and evolving horizontally scalable platforms while making them highly resilient and reliable in order to provide a foundation for Twitter’s revenue growth.
- Payments -- you’ll help us rebuild the entire set of payment services to produce a generic, Twitter-wide payment processing platform that any paying customer could use - be it for ads, data products, or other products or services Twitter provides.
In both cases you’ll work closely with our internal customers, including ones who build user facing revenue products, to ensure their requirements get implemented - in a generic fashion - on the platform level.
What Else You Can Expect
We deeply care about people. You can expect a strong investment in your professional growth, and a dedication to crafting a successful, sustainable career for you. Our teams are composed of highly talented and passionate 'A' players, and you’ll get the mentorship and coaching you deserve to hone your skills and expertise. Our vibrant culture and high expectations will kindle your passion and bring out the best in you!
- First of all, we expect you to exhibit a high degree of rigour. We deal with real money where cost of mistakes is high. You deeply care about the external and internal software quality and how you approach all aspects of the software development lifecycle.
- Strong algorithms, data structures and coding background.
- Solid foundation in backend software development.
- Good knowledge of databases and persistent stores.
- BS, MS, or PhD in Computer Science or equivalent work experience.
- Experience with distributed systems.
- Experience with payment systems.
- Contributions to the open-source community.
We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, color, ethnicity, ancestry, national origin, religion, sex, gender, gender identity, gender expression, sexual orientation, age, disability, veteran status, genetic information, marital status or any 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.By applying for this role, you could choose to work in the following locations:
Engineering Hiring Process
Once your application is received, a recruiter will reach out pending your qualifications are a match for the role.
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.
If the phone interviews go well or your work sample is strong, the final step includes interviews with 5-6 people held onsite in our office.