Within the Figma Editor, Figma’s industry-leading collaborative design product, Design Systems is one of the most critical features that enables teams to scale their designs. We’re not a traditional design systems team as we don’t work on Figma’s internal design systems, but rather build the core design systems product for Figma’s end customers. Our team is a foundational part of Figma, and we're heavily investing in several new strategic initiatives this coming year. Every day, our users leverage design systems to create, share and reuse design elements, in order to ensure design consistency across their brand and products and accelerate a designer’s workflow. The Design Systems team is responsible for providing powerful features and delightful user experiences for the life cycle of building, managing and consuming design systems.
Design Systems is a full stack product, hence it fully leverages the Figma Editor’s technical stack: everything you see on the canvas in the Figma Editor uses C++, which compiles to WebAssembly to run in the browser and offer more control over performance, memory management, and rendering. We use Typescript and React/Redux for the UI around the canvas, where key elements like the properties panel, toolbar, and modals live. Typescript gives us type checking capability, more guardrails around code correctness, and allows us to generate HTML and CSS in order to take advantage of more standard UI patterns. We have a service-oriented architecture and use Ruby/Sinatra, Go, and Rust on the backend for Figma’s main API server. Professional experience with these languages and technologies is not a requirement. We encourage candidates to use the programming language that they’re most comfortable with during interviews—new hires will be ramped in our codebase during onboarding.
Figma is a highly collaborative organization. You’ll form strong relationships with product managers and designers, and can expect to partner regularly with engineers and leaders beyond your immediate team. We strive to foster an inclusive culture that promotes equity and belonging, and use the following values to guide how we work together: communicate early and often, lift your team, focus on craftsmanship, and prioritize impact. You can learn more about our engineering values and how we developed them here.
This is a full-time role that can be held from one of our US hubs or remotely in the United States.
What you'll do at Figma:
- Building new features in a real time, multiplayer system with a complex data model that enables collaboration across files.
- Designing large-scale application architecture and state management.
- Solving for performance and memory optimizations—we want to keep pushing the limits of what is possible to create in a browser while maintaining a highly performant UX.
- Extending and scaling the Editor and full stack system behind our design system features, enabling teams to build best-in-class design systems that work well with production components.
We’d love to hear from you if you have:
- 6+ years of professional experience building and shipping user-facing features and products, or platforms that power multiple features, including 2+ years of experience operating in a technical lead capacity.
- Strong ability to understand user experiences and product requirements and translate into high quality technical solutions.
- Deep understanding of systems and proven ability to solve problems without known solutions or creates new architecture that solves multiple problems within complex systems.
- Demonstrated fluency with one or more programming languages, including: Typescript/Javascript, React, C++, Python, Java, Objective-C, Go, or Rust.
- Excellent technical communication and relationship-building skills. The ability to achieve successful outcomes with partners ranging from interns to executives.
- A growth mindset and experience investing in the learning, development, belonging, and impact of your peers.
While it’s not required, it’s an added plus if you also have:
- Experience in and a desire to teach fellow engineers through pairing, code review, and in-the-moment feedback.
- Experience working on editors.
- Experience writing C++ (or related languages such as Objective C or C) in a user-facing context (e.g. gaming, native applications).
- Experience in building frontend platforms or frameworks.
At Figma, one of our values is Grow as you go. We believe in hiring smart, curious people who are excited to learn and develop their skills. If you’re excited about this role but your past experience doesn’t align perfectly with the points outlined in the job description, we encourage you to apply anyways. You may be just the right candidate for this or other roles.