Senior Software Engineer | Reddit
Reddit is a global network of communities built around shared interests, conversations, and trusted interactions. Every day, millions of people use Reddit to submit content, vote, comment, exchange ideas, and participate in discussions about the topics that matter to them.
With more than 100,000 active communities and approximately 130 million daily active unique visitors, Reddit has become one of the world’s largest platforms for online conversations and information sharing.
About the Role
Reddit is seeking a Senior Software Engineer, Media Experience to help develop the next generation of its media infrastructure.
In this position, you will work on the technologies responsible for ingesting, processing, storing, and delivering video and audio content across Reddit.
You will solve complex engineering problems related to large-scale media distribution while helping Reddit deliver fast, reliable, and high-quality media experiences to users around the world.
The role involves close collaboration with product managers, designers, client engineers, platform engineers, and other technical teams to develop new products, improve existing media capabilities, and support Reddit’s broader media strategy.
Key Responsibilities
- Collaborate with product, design, and engineering teams to translate Reddit’s product and business strategy into new features and technical solutions.
- Participate throughout the complete software development lifecycle, including technical design, development, testing, experimentation, analysis, deployment, and launch.
- Review code, technical designs, product specifications, and interface concepts while providing constructive feedback.
- Help establish engineering standards and best practices that improve developer productivity and workflows.
- Support and mentor less-experienced engineers as they develop their technical expertise.
- Develop new products quickly while maintaining appropriate standards for reliability, performance, and code quality.
- Work with client and platform engineering teams to improve media performance and content delivery for Reddit users worldwide.
- Help solve challenging infrastructure problems involving large-scale video and audio processing, storage, and distribution.
Qualifications
Candidates should have a Bachelor’s degree in Computer Science or a related technical discipline, or equivalent practical professional experience.
Reddit is also looking for candidates with:
- At least 3 years of professional experience working with large-scale distributed systems.
- At least 5 years of hands-on professional software development experience.
- Strong programming experience with one or more general-purpose languages such as Go, Python, Ruby, Java, or C++.
- Experience designing and maintaining APIs using technologies such as GraphQL, REST, HTTP, gRPC, and Thrift.
- Experience working with distributed caching technologies and large-scale data storage systems such as Redis.
- Familiarity with image-processing and delivery techniques, including image resizing, cropping, progressive JPEG, WebP, and related technologies.
- Knowledge of media streaming technologies including HTTP Live Streaming (HLS), MPEG-DASH, and MP4.
- Familiarity with video compression technologies such as H.264, H.265/HEVC, VP9, and AV1.
- Strong organizational and project-management abilities with the capacity to prioritize work and deliver projects according to schedule.
- Excellent written and verbal communication skills.
- The ability to collaborate effectively with technical and non-technical colleagues in a fully remote working environment.
Preferred Experience
Candidates may stand out if they demonstrate strong knowledge and continued interest in modern video technologies and media engineering.
Additional desirable experience includes:
- Keeping up with developments in video compression through industry conferences, research papers, technical publications, and emerging technologies.
- Understanding video quality measurement and optimization techniques, including metrics such as VMAF and PSNR.
- Hands-on experience with media-processing technologies such as FFmpeg, GPAC, or similar frameworks.
- Experience with client-side media technologies and libraries, including AVFoundation and VideoToolbox.
- Knowledge of video prefetching and background data retrieval.
- Strong SQL and data-analysis capabilities.
Requirements
- Bachelor’s degree in Computer Science, a related technical discipline, or equivalent practical experience.
- At least 3 years of industry experience working with large-scale distributed systems.
- 5+ years of professional software development experience using one or more general-purpose programming languages, such as Go, Python, Ruby, Java, or C++.
- Strong experience with API and communication technologies including GraphQL, REST, HTTP, gRPC, and Thrift, with the ability to design and implement reliable, scalable, and maintainable APIs.
- Experience working with distributed caching systems and large-scale distributed data storage technologies such as Redis.
- Familiarity with image processing and delivery techniques, including image resizing, scaling, cropping, progressive JPEG, WebP, and other modern image formats.
- Understanding of video streaming technologies and protocols, including HTTP Live Streaming (HLS), MPEG-DASH, and MP4.
- Knowledge of modern video compression standards such as H.264, H.265/HEVC, VP9, and AV1.
- Strong organizational skills with the ability to manage priorities, coordinate multiple responsibilities, and deliver high-quality work within established timelines.