Software Engineer, Systems - Growth
Who We Are:
Twitter's Growth teams are dedicated to getting the majority of the world to converse in public using Twitter. We are comprised of many teams across the company, including Product, Engineering, Design, and Data Science. These teams are responsible for understanding the entire user lifecycle, with the goal of helping users discover the value of Twitter, and ultimately paving the way for user acquisition and top line growth.
This mission is to instantly connect people with the conversations and audiences most meaningful to them. Realizing this goal involves work in areas such as machine learning, applied data science, recommendation systems, and information retrieval systems.
Do you want to make a huge impact while working with large data sets at scale? If so, a Growth team is a good fit for you! These high-impact teams value creativity, critical thinking, and teamwork. The Growth teams are hiring Software Engineers in the following areas:
Onboarding - Focused on creating immersive and engaging product experiences with the goal of quickly learning what users are interested in.
Notifications Tab - Building the Command Center of Twitter. Users come here to catch up on what requires their most attention and find content to interact with.
Notifications Infrastructure - The delivery platform for all outgoing communication from Twitter to our users. We own the reliable delivery of all push notification, email, and SMS.
A few things that set us apart:
- We are a product and a platform team rolled into one. We own & build systems that process massive volumes of data (including Twitter Firehose), serve some of the most called APIs at Twitter, and deliver several billions of Notifications to our four primary Notification channels (Email, Push, SMS, and Notifications Timeline)
- Our work is highly impactful, we drive a ton of key metrics for the company (think DAUs, MAUs & various key engagement metrics). We do so with a strong customer focus
- We are very much experiment driven and have several experiments in flight at any point of time
- We believe in team-centric development and working in collaboration. We love hanging out together whether it's for a brainstorming session or lunch or coffee
What You’ll Do:
As a software engineer at Twitter, you will help us build, scale and maintain user facing products, large scale systems, services, and tools all of which have a direct impact on the lives of our users (external & internal) and the success of our business.
Who You Are:
- You will build and maintain high-performance, distributed, scalable systems
- You will improve the reliability and efficiency of Twitter's core systems
- You have a strong sense of ownership, and a curiosity to understand how things work, even if they take you outside your area of expertise
- You know at least one functional or object oriented programming language (preferably Scala or Java), feel equally comfortable with SQL and noSQL data storage systems, and are always interested in learning more
- Experience with backend infrastructure, distributed systems, and/or large-scale data processing (the likes of Kafka, Storm, Redis, Spark, and Cassandra)
- Experience with standard software engineering methodology (e.g. unit testing, code reviews, design documentation).
- BS, MS, or PhD in Computer Science or equivalent work experience
Desired (not required):
- Experience with Hadoop or other MapReduce-based architectures
- Experience designing fault-tolerant distributed systems in a service-oriented architecture
- 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, 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
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.
We're the People Team @Twitter. We're hiring service, purpose-driven people who are creative and move fast. #LoveWhereYouWork #JoinTheFlock
We're your one stop shop for anything University related. That means campus outreach, student advice/tips, & of course, our University Recruiting efforts!