Software Engineer, C++
Develops high-performance C++/WebAssembly client-side systems for Figma's real-time collaborative design platform. Optimizes browser performance, extends multiplayer protocols, and builds accessible features. Requires 4+ years experience with C++, TypeScript, and web applications.
About the job
What you’ll do
- Build core features and frontend infrastructure in a real-time, multiplayer system with a complex in-memory data model (SceneGraph)
- Optimize performance and memory usage to deliver a fast, reliable UX in the browser using C++/WebAssembly and TypeScript
- Extend our core C++ engine and multiplayer protocols to support scalable design systems, branching/merging flows, and advanced collaboration modes
- Design and build APIs and tooling to allow product teams to build against our platform with ease and confidence
- Contribute to accessibility strategy and implementation, ensuring our tools are usable by all
- Collaborate regularly with cross-functional partners across product, design, and engineering to plan and execute high-impact projects
- Write clear, maintainable code and documentation, and contribute to architectural decisions
- Mentor and support other engineers through pairing, code review, and feedback
- Help drive recruitment and shape our inclusive, high-performance engineering culture
We’d love to hear from you if you have
- 4+ years of professional Software Engineering experience shipping user-facing features or products
- Strong programming skills in one or more languages relevant to our frontend such as TypeScript, C++, React, Go, Rust, or Python
- Experience working with web-based applications, browser performance, or real-time collaborative systems
- A track record of working collaboratively across teams and disciplines to deliver complex technical projects
Nice-to-haves
- 2+ years of experience in a technical lead role, especially across multiple teams
- Experience with game engines, rendering systems, or other performance-critical applications
- Background in developer platforms or API design
- Familiarity with WebAssembly, browser internals, or C++ in a frontend context
- Passion for crafting collaborative tools and creative workflows
- A strong product mindset and attention to user experience
- A commitment to continuous learning, inclusion, and helping others grow
Skills
C++, Webassembly, TypeScript, React, Real-Time Systems, Multiplayer Protocols, Browser Performance, Scenegraph, Go, Rust
Similar jobs
Embedded Engineering jobsDevelops, deploys, and maintains software for autonomous vehicles, integrating sensors, autopilots, and perception modules with hands-on field testing. Requires 5+ years experience or MS/PhD, C++/Python/Linux proficiency, and robotics knowledge.
Designs and integrates C++ autonomy software with UAV hardware, autopilots, sensors, and communication systems, supporting SIL/HIL validation and live flight testing. Requires 3+ years of robotics integration experience, U.S. citizenship, and security-clearance eligibility.
Develop and test real-time embedded software for autonomous battery-electric rail vehicles, integrating sensors, hardware interfaces, and control systems. The early-career role requires systems programming experience, embedded or real-time familiarity, and a bachelor's degree or equivalent practical experience.
Integrates autonomy and robotic software with UAV hardware, sensors, autopilots, and communication systems across SIL, HIL, and live flight-test environments. Requires a relevant bachelor’s or master’s degree, 3+ years of robotics integration experience, C++, Linux, and U.S. citizenship with clearance eligibility.
Develops reliable embedded software and custom device solutions, integrating vendor components, sensors, operating systems, and communication interfaces. Requires a bachelor's degree and at least three years of relevant experience with C/C++, embedded Linux, debugging, and CI/CD tools.