Software Engineer, Distributed Systems
Design, build, and operate scalable distributed systems powering Figma's real-time collaborative design platform. Requires 5+ years backend/infrastructure experience, distributed systems expertise, and cloud proficiency.
About the job
What You’ll Do at Figma:
- Design, build, and maintain scalable and reliable infrastructure systems that support product innovation and user collaboration at scale.
- Architect and evolve distributed systems including storage platforms, streaming infrastructure, and compute orchestration.
- Improve developer experience by building internal platforms, CI/CD systems, build tools, and APIs.
- Collaborate across product and infrastructure teams to design secure, maintainable, and performant systems.
- Participate in shaping platform strategy, roadmaps, and engineering best practices across the organization.
- Debug and resolve complex production issues that span services and layers of the stack.
- Mentor engineers and foster a culture of collaboration, inclusivity, and technical excellence.
We’d Love to Hear From You If You Have:
- 5+ years of Software Engineering experience, specifically in backend or infrastructure engineering.
- Deep understanding of distributed systems concepts such as sharding, replication, consistency, and eventual convergence.
- Experience with cloud-native environments (AWS, GCP, or Azure), infrastructure-as-code, and container orchestration.
- Proficiency in languages such as Go, TypeScript, Python, Rust, or Ruby.
- Strong system design skills and a track record of architecting resilient production systems.
- Excellent communication skills, with experience collaborating across teams and mentoring others.
While it’s not required, it’s an added plus if you also have:
- Experience scaling storage platforms (e.g., Postgres, Redis, S3, DynamoDB) or operating streaming systems like Kafka.
- Background in traffic management, DDoS mitigation, or service mesh technologies (e.g., Envoy, Istio).
- A history of developing complex, realtime distributed systems at scale.
- A passion for building developer productivity tools, including development environments, CI/CD pipelines, and build systems.
- Experience with evolving large-scale, shared developer platforms to improve reliability and developer velocity.
- Strong problem-solving skills and a bias for action—especially when tackling high-impact, gritty challenges.
Skills
Go, TypeScript, Python, Rust, Ruby, AWS, GCP, Azure, Kubernetes, Postgres
Similar jobs
Backend Engineering jobsBuild secure, scalable identity and access management platforms, APIs, and internal tooling using JavaScript, Node.js, React.js, and distributed-systems expertise. The role requires 5+ years of backend or distributed-systems experience and familiarity with authentication protocols is a plus.
Build backend systems and APIs that ingest, process, and route large-scale telemetry data in real time. The role requires strong computer science fundamentals, Node.js/TypeScript experience, distributed-systems knowledge, and ownership of reliable cloud software.
Build and maintain highly available, scalable distributed systems, data pipelines, messaging systems, and services powering Internet intelligence products. The role requires 5+ years of distributed-systems experience and proficiency with Go, cloud platforms, databases, and messaging technologies.
Build backend APIs, Go services, data pipelines, and sandboxed AI-agent infrastructure for Vega and LaunchDarkly’s Observability platform. The role requires 5+ years of software engineering experience, distributed-systems expertise, and experience with LLM-powered features.
Builds and operates high-scale backend systems that deliver feature-flag configuration globally with low latency and high reliability. The role requires 3+ years of production software-engineering experience, backend programming skills, cloud familiarity, and comfort with observability and on-call operations.