Software Engineer, Distributed Systems
Job description
About the role
The role designs and implements application and data infrastructure for 70M+ users who create millions of gammas daily. You will own the end-to-end lifecycle of critical distributed components, from capacity planning and fault tolerance design to implementation and observability. This position focuses on the systems that power real-time collaboration, event streaming, and AI-assisted features across the platform. You will partner closely with product and data teams to translate ambitious feature goals into reliable, scalable technical solutions. A core part of the role is driving long-term technical investments while maintaining the velocity needed to support rapid user growth and feature experimentation. You will be responsible for ensuring that infrastructure performs under high concurrency and remains resilient in the face of partial failures. Strong communication is essential, as you will articulate complex trade-offs to both technical and non-technical stakeholders.
Key facts
What you'll do
Design and build scalable backend services that handle millions of requests per second with low latency and high availability.
Implement robust event-driven pipelines that enable real-time updates and consistent state across distributed clients and servers.
Optimize database access patterns and caching strategies using PostgreSQL and Redis to meet strict performance service level objectives.
Collaborate with frontend and product teams to define interfaces and contracts that enable rapid iteration without compromising stability.
Lead incident response and postmortem processes to identify root causes and implement preventative measures.
Investigate and prototype solutions for real-time collaboration challenges such as conflict resolution, ordering, and synchronization.
Work with data pipelines to ensure that analytics and machine learning features are supported by reliable and efficient data infrastructure.
Drive operational excellence through monitoring, alerting, and automated runbooks that reduce manual intervention and improve mean time to recovery.
Evaluate and adopt new technologies where appropriate, balancing innovation with the constraints of production reliability and maintainability.
Mentor junior engineers by providing clear code review feedback, design guidance, and coaching on distributed systems principles.
Participate in on-call rotations to ensure timely response to production issues and continuous improvement of system reliability.
Translate ambiguous product requirements into technical specifications that account for scalability, security, and maintainability.
Contribute to architectural decision records and long-term platform roadmaps that align engineering efforts with business objectives.
Champion best practices in testing, deployment, and documentation to improve the quality and maintainability of the codebase.
Requirements
Five or more years of backend engineering experience building scalable systems in production are required.
Strong proficiency in backend technologies such as Node.js, Python, or similar, and databases including PostgreSQL and Redis are required.
High-traffic production systems are handled and performance is optimized as a standard expectation.
A track record of shipping high-quality, complex applications under tight timelines is maintained consistently.
A product-minded approach is applied to understand how technical decisions impact user experience and business metrics.
Experience with real-time collaboration systems, event pipelines, or AI-powered applications is a nice-to-have qualification.
Solid understanding of distributed systems concepts such as consensus, replication, and idempotency is required.
Ability to learn and adapt to new tools and frameworks while maintaining a high standard of code quality and reliability.
Nice to have
Experience contributing to open source projects that involve distributed systems or real-time collaboration.
Published work on performance optimization or large-scale system design.
Contributions to databases, caching layers, or message brokers used in production environments.
Practical notes
Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Platform teams own core infrastructure that supports large-scale user workflows. Systems built here rely on distributed architectures, real-time collaboration patterns, and event-driven pipelines. Backend engineers balance reliability, performance, and shipping speed to support business growth. Collaboration across product, frontend, and data teams is common on fast-moving initiatives. Engineers use modern backend stacks including Node.js, Python, PostgreSQL, and Redis to deliver scalable solutions.
Questions to ask
Worth asking in any interview: how the team measures success, who the role works with daily, what the onboarding looks like, and what the company is trying to achieve this year. Asking what past hires did well is a strong final question. Keep the list short and pick the questions that matter most to you.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.
About the company
Gamma is an AI-powered presentation and document creation platform. The tool enables users to create professional presentations, documents, and webpages using AI-generated content and design.