Sr. Software Engineer, Realtime Storage - Key Value Storage
- Full-time
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 feel 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’s globally distributed, real-time communications network generates trillions of events and petabytes of data per day. The Realtime storage Group provides the storage layer that enables products and services at Twitter to be fast, highly scalable, and always available. We own Manhattan, an internally-developed distributed, persistent key-value store for low-latency high-throughput use cases. We are also in the process of changing the storage landscape at Twitter by bringing a NewSQL offering to accelerate our customers at Twitter in their hybrid cloud environment. Our goal with the NewSQL offering is for it to become the default strongly consistent database at Twitter and the first choice database for customers in the hybrid cloud. To handle this scale and setup, we build scalable distributed storage features and integrations to serve critical Twitter services with low latency and high availability across cloud and on-premise environments. We are looking to grow our teams across both these products.
What You’ll Do:
- Own and contribute to designing and building services and features that allow us to store and serve data at scale meeting the latency, availability and durability requirements of our customers.
- Design and build pieces of the infrastructure to provide a new NewSQL database as a service and to operate it at scale reliably.
- Collaborate within the team and with partner teams like Messaging, Compliance, Security, Kubernetes and customers to ship new features and fixes that are critical for our ability to operate at scale, reduce cost and to accelerate shipping Twitter products.
- Contribute to building features to make sure all data meet the privacy and security standards.
- Develop cloud integrations and new capabilities that will allow for easy movement of data between cloud datastores and the database service.
- Dive into performance issues and deliver solutions to cater to customers’ latency, availability and durability requirements.
- Ship quality code, work in a collaborative environment and up-level your peers by doing code and design reviews.
- Go on an on-call rotation for the service and contribute to initiatives to improve service reliability. Be an active participant in incident responses and contribute to incident postmortems.
- Be open to develop new skills and learn on the job as we navigate a new technology space.
- Ground your decisions with data and reasoning and adapt to new information to make informed choices.
Qualifications
You'll Have:
- B.S.+ in Computer Science or related field (or equivalent experience)
- 5+ years of experience in software engineering
- Experience with building or using distributed systems, and asynchronous programming
- Strong computer science fundamentals, algorithms, and data structures background
- Experience with software engineering standards including agile development, unit testing, code reviews, design documentation, debugging, troubleshooting and a strong drive towards automation.
- Experienced with multi-threading, scaling, concurrency, caching, queuing, RPC, and distributed data storage.
- Previous experience with storage systems and/or with cloud server environments such as Amazon Web Services (AWS) and/or Google Cloud Platform (GCP) is a plus
Additional Information
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.