Software Engineer - Storage & Messaging, Seattle

Seattle, WA

 

Who We Are:
Twitter’s globally distributed, real-time communications network generates trillions of events and petabytes of data per day. To handle this scale, As engineers on the Storage & Messaging team, we build world class distributed databases, caching, and messaging infrastructure.

What You’ll Do:

You will be responsible for contributing to and helping guide the future of our systems that hold petabytes of data, serve millions of queries per second, and are used by hundreds of millions of Twitter users as they connect, explore, and interact with information and one another. You will develop highly-performant algorithms and data structures, solve complex distributed systems problems, and envision and innovate the next solutions that will bolster the foundation of Storage and Messaging infrastructure.

Operating our own systems at hyper growth levels is a rewarding challenge, it is what helps make us great. We are a tight knit and passionate group that loves working together, and we are looking for exceptional additions to our flock. You will empower dozens of engineering teams, hundreds of co-workers, and millions of users to dream of new insights and new possibilities.

The Storage team is hiring for the following areas:

  • Blob Storage - storage for all the photos, videos, and static assets served by Twitter.  Store petabytes of data for 100s of millions of users everyday, with a fan out of a single Tweet reaching 100M followers in real time.  Find the right balance between cost, latency, and availability to serve Twitters unique use cases.  Enable future directions such as ML over Blobs for scenarios such as recommendations, identifying abuse, and anomaly detection.
  • Messaging and Coordination - publish and subscribe technologies to enable services and applications to stream information between one another. This team also owns the replicated log which is a foundation technology used to power other teams within Twitter.  
    https://github.com/twitter/distributedlog https://blog.twitter.com/2015/building-distributedlog-twitter-s-high-performance-replicated-log-service

  • Real Time Storage Group - Real-time, multi-tenant distributed database for Twitter scale. Distributed in-memory storage solutions that offer low latency and high throughput at Twitter scale 
    https://blog.twitter.com/2014/manhattan-our-real-time-multi-tenant-distributed-database-for-twitter-scale 

  • Graph Storage - services to store and serve high-throughput queries on Twitter's social graph and indexes on our Tweets.  This service gets 50 billion queries per day with a peak of 25 million queries per second each day.  

  • Observability - a comprehensive set of diagnostic tools for Twitter engineers to troubleshoot incidents. Includes a monitoring & alerting stack processing ~5B metrics/minute, MetricsDB (a highly optimized purpose-built time series database) to store metrics, a distributed logging service (handling ~30 PB of data) and a distributed tracing service (Zipkin). https://blog.twitter.com/engineering/en_us/a/2016/observability-at-twitter-technical-overview-part-i.html 

Who You Are:

You enjoy new challenges and are passionate about continually pushing the envelope of scale. You take satisfaction in building resilient, high-performance, and thoroughly tested systems that can power the most business-critical applications. You want to learn, work with, and contribute to cutting-edge open-source technologies.

The ideal candidate has experience with distributed storage systems such as Cassandra, HBase, MongoDB or MegaStore, BigTable or experience with messaging technologies such as Kafka, Zookeeper, Memcached or Redis and actively makes contributions to open-source software.

Requirements:

  • Experience with software engineering best practices (e.g. unit testing, code reviews, design documentation).

  • BS, MS, or PhD in Computer Science, or equivalent work experience.

  • Experience with Java, Scala, C, C++, or another modern systems language.

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 status, genetic information, marital status or any other legally protected status.

 

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 held onsite in our office.

Application

Personal Information

This field is required.
This field is required.
This field is required.
This field is required.
Required field. PDFs only; max file size is 1MB.
Required field. PDFs only; max file size is 1MB.

U.S. Equal Opportunity Employment Information  (Completion is Voluntary)

At Twitter, we have a bold aspiration to reach every person on the planet. We believe that goal is more attainable with a team that understands and represents different cultures and backgrounds and we are committed to an inclusive and diverse Twitter.

This is where you come in! Please take a few minutes to provide us with your information. You are not required to provide this information and you may select “Decline to Disclose”. Your decision to provide information (or not) will not affect your employment or opportunities at 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.

You can view the ‘EEO is the Law’ poster here.

Twitter does not accept any unsolicited resumes from recruiting agencies and will not pay fees associated with any such resumes. Agencies, please do not send resumes to any Twitter location, employee, or email address.

Twitter, Inc. is committed to working with and providing access and reasonable accommodations to applicants with physical or mental disabilities. If you need an accommodation in order to apply for open job opportunities, please submit a description of your accommodation request to RARequest-Recruiting@twitter.com. This email is only for accommodation requests related to the application process.

Twitter cares about your privacy and protecting your data.  Please click the privacy policy link and acknowledge you have read and understood how Twitter treats your privacy and your data.  

Applicant Data - You have a choice. Can we keep your personal data for both the job you are applying for and any other Twitter jobs that we feel you may be a match for? If you choose yes we will retain your personal data for a period of twelve months to consider you for other job opportunities at Twitter.
Analytics - May we use personal data from your resume and application to analyze and improve the Twitter hiring experience.
Success
Thanks for applying!
Error
Submission failed. Please make sure all fields are correctly formatted.

Don't see the right fit?

Check out other opportunities at Twitter.