Software Engineer - Product Foundations
The Product Foundations pillar owns user experience across Figma’s product offerings. As Figma expands beyond our flagship Design tool and FigJam into Slides, we’re making our products work well together. This involves building a wide variety of features - from building core editing tools, navigation between files, collaborative tools such as notifications and commenting, and more. We think about deep product challenges, like enabling creative sharing of work across different modalities, and making the Figma toolset easy to learn through building consistent patterns. Our team also invests heavily into quality, both from a product and technical perspective. We take pride in how core our work is, and feel a high responsibility to both our users and other product teams interacting with our work.
Engineering roles on our team are typically quite collaborative with our PMs, designers, data scientists, and user research to build the best product possible. Our primary technologies are Typescript and React/Redux for the UI around the canvas, where key elements like the properties panel, toolbar, and modals live. It’s likely engineers in our area also might need to work in C++, which is used for rendering and core behaviors of editing tools; we compile C++ to WebAssembly to run in the browser and offer more control over performance, memory management, and rendering.
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.
What you’ll do at Figma:
Prototype and ship new product experiences for how Figma tools can work together, exploring features across how content can move between files, allowing new types of editing, or new ways users can collect content together.
Make platform improvements aimed at supporting multiple products at Figma - from performance, to stability, to ease of development for engineers on other teams.
Own the home page experience of Figma, tackling nuanced performance and product problems, as well as building reusable patterns for other product teams to create their own home page experiences.
Build collaborative spaces for teams to connect, discover, and manage work in files across Figma's suite of products.
We'd love to hear from you if you have:
4+ years of professional experience shipping user-facing features or products as a full-stack developer
Demonstrated fluency with one or more programming languages, particularly Typescript/Javascript and React, but also C++, Python, Java, Objective-C, Go, or Rust
Experience driving impact through work on cross functional teams, with strong collaboration and communication skills
A passion for building great experiences, with an excitement to sweat the details
While not required, it’s an added plus if you also have:
2+ years of experience operating in a technical lead capacity
Experience teaching fellow engineers through pairing, code review, and in-the-moment feedback
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.
About the job
Apply for this position
Software Engineer - Product Foundations
The Product Foundations pillar owns user experience across Figma’s product offerings. As Figma expands beyond our flagship Design tool and FigJam into Slides, we’re making our products work well together. This involves building a wide variety of features - from building core editing tools, navigation between files, collaborative tools such as notifications and commenting, and more. We think about deep product challenges, like enabling creative sharing of work across different modalities, and making the Figma toolset easy to learn through building consistent patterns. Our team also invests heavily into quality, both from a product and technical perspective. We take pride in how core our work is, and feel a high responsibility to both our users and other product teams interacting with our work.
Engineering roles on our team are typically quite collaborative with our PMs, designers, data scientists, and user research to build the best product possible. Our primary technologies are Typescript and React/Redux for the UI around the canvas, where key elements like the properties panel, toolbar, and modals live. It’s likely engineers in our area also might need to work in C++, which is used for rendering and core behaviors of editing tools; we compile C++ to WebAssembly to run in the browser and offer more control over performance, memory management, and rendering.
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.
What you’ll do at Figma:
Prototype and ship new product experiences for how Figma tools can work together, exploring features across how content can move between files, allowing new types of editing, or new ways users can collect content together.
Make platform improvements aimed at supporting multiple products at Figma - from performance, to stability, to ease of development for engineers on other teams.
Own the home page experience of Figma, tackling nuanced performance and product problems, as well as building reusable patterns for other product teams to create their own home page experiences.
Build collaborative spaces for teams to connect, discover, and manage work in files across Figma's suite of products.
We'd love to hear from you if you have:
4+ years of professional experience shipping user-facing features or products as a full-stack developer
Demonstrated fluency with one or more programming languages, particularly Typescript/Javascript and React, but also C++, Python, Java, Objective-C, Go, or Rust
Experience driving impact through work on cross functional teams, with strong collaboration and communication skills
A passion for building great experiences, with an excitement to sweat the details
While not required, it’s an added plus if you also have:
2+ years of experience operating in a technical lead capacity
Experience teaching fellow engineers through pairing, code review, and in-the-moment feedback
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.