About this role.
This is a Senior Software Engineer role focused on storage infrastructure at Reddit. The engineer will work on caching and storage systems serving hundreds of millions of queries per second, storing terabytes of data across thousands of machines. Responsibilities include developing long-term technical strategy, owning storage infrastructure, and mentoring other engineers. The ideal candidate has 5+ years of experience with distributed storage systems and proficiency in languages like Golang, Python, C++, or Java. This role offers a competitive base salary range of $217,000 - $303,900 USD plus equity and benefits.
Role DNA
A quick view of the complexity, pace, ownership and collaboration implied by the job description.
Job Complexity
4/5Pace & Pressure
4/5Autonomy Level
4/5Communication Load
5/5Salary analysis
Estimated compensation compared with the broader US market for similar roles.
Core skills
Skills and capabilities most closely associated with this opportunity.
Cover letter sample
I am excited to apply for the Senior Software Engineer, Storage position at Reddit. With over 5 years of experience building and scaling distributed storage systems, I have a proven track record of designing reliable and performant infrastructure for large-scale applications.
My expertise in languages like Golang and Python, combined with hands-on experience with technologies such as Cassandra, Redis, and Memcache, aligns well with the requirements of this role. I am particularly drawn to the challenge of serving hundreds of millions of queries per second while maintaining high availability.
In my previous role, I led the migration of a critical caching layer that improved latency by 40% and reduced operational costs. I am eager to bring my technical leadership and collaborative skills to Reddit to help build the next generation of storage infrastructure.
Thank you for considering my application. I look forward to the possibility of contributing to Reddit's mission of bringing community and belonging to everyone in the world.
Sample interview questions
I would start by analyzing the access patterns and data characteristics to determine the caching strategy, such as write-through or write-back. Using consistent hashing for sharding and replication for fault tolerance, I would deploy multiple cache nodes across different availability zones. I'd implement a hybrid approach with an in-memory cache like Redis for hot keys and a distributed cache like Memcache for larger datasets. Monitoring and auto-scaling would be critical, along with a robust failure recovery mechanism.
In a previous role, I noticed that our Cassandra cluster had high read latency due to inefficient data modeling. I redesigned the schema to use denormalization and proper primary key selection, which reduced read latency by 30%. Additionally, I implemented compression and tiered storage to move cold data to cheaper SSDs, reducing storage costs by 20% without impacting performance.
Consistency depends on the system's requirements. For strong consistency, I would use consensus algorithms like Raft or Paxos for replicated state machines. For eventual consistency, I'd implement conflict resolution strategies like last-write-wins or CRDTs. I also leverage quorum-based reads and writes in systems like Cassandra to balance consistency and availability. Testing with chaos engineering helps validate consistency guarantees under failure scenarios.
I would start by gathering metrics from monitoring tools (e.g., Prometheus, Grafana) to identify bottlenecks like CPU, memory, I/O, or network. Traces and logs from distributed tracing (e.g., Jaeger) help pinpoint slow paths. I would isolate the issue by running load tests on a staging environment with similar traffic patterns. For example, if there's high tail latency, I'd check for hot partitions or garbage collection pauses. Once identified, I'd apply targeted optimizations like query tuning, scaling, or rebalancing.
I would start by pairing with them on a small task, such as adding a feature to a caching layer, to demonstrate code review practices and testing. I'd encourage them to write unit and integration tests and to use chaos engineering tools to understand system behavior under stress. Weekly knowledge-sharing sessions on topics like data modeling, consistency models, and performance profiling would reinforce learning. I'd also guide them to contribute to open-source projects or internal design documents to build confidence.
The Storage Infra team is looking to hire a Senior Software Engineer who is excited to solve large scale storage infrastructure problems.
Reddit’s mission is to bring community and belonging to everyone in the world. Reddit is a community of communities where people can dive into anything through experiences built around their interests, hobbies, and passions. With more than 50 million people visiting 100,000+ communities daily, it is home to the most open and authentic conversations on the internet. From pets to parenting, skincare to stocks, there’s a community for everybody on Reddit. For more information, visit redditinc.com.
Our caching layer serves 100s of millions of queries/second serving 100s of billions of keys.We do this while efficiently storing 100s of Terabytes of data across thousands of machines. As a senior engineer, you will partner closely with your team and our biggest users (ML/AI/Search) to build technical solutions that can scale to Reddit’s product growth. You’ll do this while maintaining an extremely high availability and reliability bar to ensure that Reddit’s users continue to get a great experience across our entire product portfolio.
In your day-to-day, you can expect to:
- Contribute to developing the team and organization’s long term technical strategy.
- Refine and maintain our data storage infrastructure to support the storage and caching needs of products supporting hundreds of millions of users.
- Own the infrastructure (managed and self-hosted) that supports data writes, reads and storage along with the necessary tooling and automation to efficiently operate the infrastructure.
- Mentor other engineers on how to design, build, and evangelize services used by hundreds of engineers across Reddit
Who you might be:
- 5+ years of experience building internet-scale software, preferably with a focus on machine learning storage infrastructure.
- Software development experience in one or more general purpose programming languages; Golang, Python, C++, Java
- Hands-on experience implementing features, optimizations, and bug fixes to distributed storage systems.
- Excellent communication skills to collaborate with stakeholders in engineering, data science, machine learning, and product.
- Degree in Computer Science or equivalent technical field.
- Experience working closely with Storage technologies like Postgres, Mysql, Cassandra, Redis, Memcache is a huge plus!
Pay Transparency:
This job posting may span more than one career level.
In addition to base salary, this job is eligible to receive equity in the form of restricted stock units, and depending on the position offered, it may also be eligible to receive a commission. Additionally, Reddit offers a wide range of benefits to U.S.-based employees, including medical, dental, and vision insurance, 401(k) program with employer match, generous time off for vacation, and parental leave. To learn more, please visit https://www.redditinc.com/careers/.
To provide greater transparency to candidates, we share base salary ranges for all US-based job postings regardless of state. We set standard base pay ranges for all roles based on function, level, and country location, benchmarked against similar stage growth companies. Final offer amounts are determined by multiple factors including, skills, depth of work experience and relevant licenses/credentials, and may vary from the amounts listed below.
In select roles and locations, the interviews will be recorded, transcribed and summarized by artificial intelligence (AI). You will have the opportunity to opt out of recording, transcription and summarization prior to any scheduled interviews.
During the interview, we will collect the following categories of personal information: Identifiers, Professional and Employment-Related Information, Sensory Information (audio/video recording), and any other categories of personal information you choose to share with us. We will use this information to evaluate your application for employment or an independent contractor role, as applicable. We will not sell your personal information or disclose it to any third party for their marketing purposes. We will delete any recording of your interview promptly after making a hiring decision. For more information about how we will handle your personal information, including our retention of it, please refer to our Candidate Privacy Policy for Potential Employees and Contractors.
Reddit is proud to be an equal opportunity employer, and is committed to building a workforce representative of the diverse communities we serve. Reddit is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If, due to a disability, you need an accommodation during the interview process, please let your recruiter know.
This job listing has been manually reviewed by the Jobicy Trust & Safety Team for compliance with our posting guidelines, including verification of the company's legitimacy, accuracy of job details, clarity of remote work policy, and absence of misleading or fraudulent content.






