Senior Software Engineer, Compute Platform
WFA Digital Insight
As demand for skilled software engineers continues to rise, with a 25% growth in cloud infrastructure roles over the past year, Reddit's Compute Platform team stands out with its cutting-edge approach to multi-cloud deployments. This Senior Software Engineer position is particularly intriguing due to its emphasis on automation, performance optimization, and collaborative problem-solving. Candidates should be aware that proficiency in Go, Kubernetes, and Linux internals is crucial, alongside a strong background in distributed systems. With Reddit's commitment to flexibility and remote work, this role offers a unique opportunity for engineers to contribute to a global platform while working from anywhere in the United States.
Job Description
About the Role
The Senior Software Engineer position within Reddit's Compute Platform team is a pivotal role that combines software development, system design, and operational support to enhance the availability, scalability, and efficiency of Reddit's compute infrastructure. This role is crucial as it directly impacts the user experience of hundreds of millions of people by ensuring the foundational platform that runs all of Reddit is robust and performing optimally. Given the nature of Reddit as a community of communities, with over 100,000 active communities and approximately 126 million daily active unique visitors, the need for a stable, efficient, and scalable compute platform cannot be overstated. The successful candidate will be part of a team of generalists who handle a wide range of responsibilities, from developing software solutions to providing operational support. The team operates with a high degree of autonomy, and the Senior Software Engineer will be expected to contribute significantly to the design and delivery of software solutions, collaborate across the organization, and participate in an on-call rotation to ensure the stability of Reddit's global scale systems.What You Will Do
- Design and deliver software solutions in Go to improve the availability, scalability, and latency of Reddit’s compute infrastructure.
- Develop Kubernetes controllers and operators to automate cluster management, workload scheduling, and the reconciliation of complex system states.
- Build core tooling and SDKs that codify network configurations, managed services, and compute capacity tracking across a multi-region fleet.
- Optimize intra-cluster performance by developing reactive schedulers and detecting node-level characteristics to inform availability.
- Collaborate across the organization to provide technical feedback and automate critical development workflows and infrastructure operations.
- Participate in an on-call rotation to ensure the stability of Reddit's global scale systems.
- Engage with the open-source community, particularly in the infrastructure or CNCF domain, to leverage and contribute to relevant projects.
- Troubleshoot complex, cross-system issues and manage large projects independently, utilizing strong problem-solving skills.
- Develop and maintain documentation for internal and external use, ensuring that all stakeholders are well-informed about the compute platform.
- Stay updated with the latest advancements in cloud computing, containerization, and software development to continuously improve Reddit's compute infrastructure.
What We Are Looking For
- 4+ years of experience developing internet-scale software with a heavy focus on infrastructure and distributed systems.
- Proficiency in Go, with a proven track record of building and managing Kubernetes services at scale.
- Expertise in Linux internals, including a solid understanding of multi-tenancy primitives like cgroups and namespaces.
- Contribution to the open-source community, ideally within the infrastructure or CNCF domain.
- Ability to work independently on complex projects and collaborate effectively with cross-functional teams.
- Excellent communication skills, with the ability to thrive in a collaborative, service-oriented environment.
- Experience with cloud providers and multi-cloud deployments.
- Strong understanding of software development principles, including version control (e.g., Git), testing, and continuous integration/continuous deployment (CI/CD) pipelines.
Nice to Have
- Experience with reactive schedulers and node-level performance optimization.
- Knowledge of networking fundamentals, including network configurations and managed services.
- Familiarity with containerization technologies (e.g., Docker) and container orchestrators (e.g., Kubernetes).
- Participation in or leadership of open-source projects related to infrastructure or cloud computing.
- Certification in cloud computing (e.g., AWS, GCP, Azure) or software development (e.g., Certified Scrum Master).
Benefits and Perks
- Comprehensive healthcare benefits, including medical, dental, and vision coverage.
- Income replacement programs to protect against unexpected life events.
- Flexible working hours and remote work options, allowing for a better work-life balance.
- Access to cutting-edge technologies and tools, supporting professional growth and development.
- Opportunity to contribute to open-source projects and engage with the wider developer community.
- Competitive salary and equity package, recognizing the value of the role to the company.
- Generous parental leave policy, supporting employees during significant life events.
- Employee assistance programs, providing support for mental health and wellness.
How to Stand Out
- Tip: Ensure your proficiency in Go and Kubernetes is evident in your resume and cover letter, as these are key requirements for the role.
- Familiarize yourself with Reddit's technology stack and recent projects to demonstrate your interest and potential for contribution.
- Showcase your experience with distributed systems and cloud computing, highlighting any achievements in optimizing system performance or scaling.
- Be prepared to discuss your approach to troubleshooting complex system issues and how you handle the on-call responsibilities.
- Review the principles of Linux internals and multi-tenancy, as these are essential for the position.
- Prepare examples of your open-source contributions or personal projects that demonstrate your skills in software development and infrastructure.
- Practice explaining technical concepts simply, as excellent communication skills are required for this role.
This is a remote position listed on WFA Digital, the platform for professionals who work from anywhere. Browse more remote jobs across all categories.