Twitter

Software Engineer - Storage Infrastructure - Graph Storage

Twitter

March 17, 2021

Seattle, WA, US

Company Description
Twitter is what’s happening and what people are talking about right now. For us, life's not about a job, it's about purpose. We believe real change starts with conversation. Here, your voice matters. Come as you are and together we'll do what's right (not what's easy) to serve the public conversation.
Job Description

Who we are:

Twitter.com is one of the largest and most popular websites in the world. Our code operates at substantial scale and speed, serving billions of requests per day, connecting hundreds of millions of active Twitter users to real-time information about their lives and the world we live in. Senior Software Engineers in Twitter's Storage Infrastructure org provide the technical leadership needed to build technologies that make the world’s largest real-time system scalable, efficient and flexible to evolve fast.
As a part of the Storage Infrastructure org, Graph storage serves the purpose of storing and exploring the graph scenarios like user/user relations like follow, mute, blocks, etc and also user to tweet relations, like favorite, retweet, etc. Our services take tens of millions of queries per second.
This role focuses on building and sustainably supporting a highly available, scalable, and reliable graph service. You will get to work with relational databases like MySQL, streaming services like Kafka, and service communication protocols like Thrift.

Why it matters:

Graph is instrumental to Twitter timeline curation. It involves millions of queries to find out your tweets, counts/list of favorites and retweets, following and followers list or count, users that need to be muted, tweets that are mentioned, and many more. A drop in availability or increase in our latency breaks twitter experience.
Qualifications
  • B.S.+ in Computer Science or related field (or equivalent experience)
  • 3+ years of experience in software engineering
  • Experience with building or operating distributed systems, and asynchronous programming
  • Strong computer science fundamentals, algorithms, and data structures background
  • Model of software engineering best practices, including agile development, unit testing, code reviews, design documentation, debugging, and troubleshooting
  • Previous experience with storage systems is a plus
  • Previous experience with Mysql, Python, Java, and/or Scala is a plus...

Additional Information
All of your information will be kept confidential according to EEO guidelines.