Software Engineer - Creation Engine
Our Creation Engine teams work on some of the core technologies that power our real time, browser-based Figma Design and FigJam products. These teams work mostly (but not exclusively) on client-side code that runs in the browser. Under the hood, Figma shares a lot of similarities to a game engine. We develop this C++/WebAssembly engine to ensure internal and external developers can rapidly build new products and features that are fast and reliable by default. We're always looking for ways to make our platform more extensible, more performant, less resource intensive, and more reliable. We own areas such as our in-memory data model (SceneGraph), renderer, multiplayer client/server protocols, and plugins and REST API. 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:
Regularly collaborate with designers, PMs, and other engineers beyond your team (or org) to plan features that unblock adoption across new categories of customers, and to break down high level goals into tasks and timelines
Build, document, and maintain tests, features, and infrastructure
Regularly communicate and document architectural designs and requirements
Provide thoughtful feedback to others on the team and facilitate spaces of learning, belonging, and impact
Help interview and recruit more talented engineers to Figma
Modularize our C++/Wasm engine to support new features in Figma Design and FigJam, as well as unlock the development of future product
Extend our multiplayer protocols to enable more advanced editing and collaboration modes across files
Create frameworks to maintain performance and memory standards across our products —we want to keep pushing the limits of what it's possible to create in a browser while maintaining a highly performant UX
Improve our file load times by dynamically loading needed content, optimizing our client-server protocols, and exploring ways to allow users to interact with files earlier
Optimize our renderer in order to increase frame rate during periods of heavy interaction with FigJam
Provide rich abstractions and APIs between our React/Typescript and C++/Wasm engine, or
Expand the way our users can extend the functionality of our products through plugins and widgets, our REST API, as well through new ML-powered extensibility features
We’d love to hear from you if you have:
At least 2+ years of professional experience shipping features or products with specialization in web frontend frameworks or C++/Wasm
Experience working on game engines, client side technologies and platforms, API products/integrations, and/or developer tools
Demonstrated coding fluency with one or more programming languages in a working context, including but not limited to: Typescript/Javascript, C++, React, Ruby, Java, Python, Go, or Rust
Experience communicating and collaborating regularly and effectively with designers, PMs, engineers, and stakeholders beyond your team (or org) to plan features and break down high level goals into tasks and timelines,
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:
2+ years of experience operating in a hands-on technical lead capacity, ideally with multi-team purview
A passion for and experience with driving product direction and developing product platforms
Read more about our team:
#LI-Remote
About the job
Apply for this position
Software Engineer - Creation Engine
Our Creation Engine teams work on some of the core technologies that power our real time, browser-based Figma Design and FigJam products. These teams work mostly (but not exclusively) on client-side code that runs in the browser. Under the hood, Figma shares a lot of similarities to a game engine. We develop this C++/WebAssembly engine to ensure internal and external developers can rapidly build new products and features that are fast and reliable by default. We're always looking for ways to make our platform more extensible, more performant, less resource intensive, and more reliable. We own areas such as our in-memory data model (SceneGraph), renderer, multiplayer client/server protocols, and plugins and REST API. 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:
Regularly collaborate with designers, PMs, and other engineers beyond your team (or org) to plan features that unblock adoption across new categories of customers, and to break down high level goals into tasks and timelines
Build, document, and maintain tests, features, and infrastructure
Regularly communicate and document architectural designs and requirements
Provide thoughtful feedback to others on the team and facilitate spaces of learning, belonging, and impact
Help interview and recruit more talented engineers to Figma
Modularize our C++/Wasm engine to support new features in Figma Design and FigJam, as well as unlock the development of future product
Extend our multiplayer protocols to enable more advanced editing and collaboration modes across files
Create frameworks to maintain performance and memory standards across our products —we want to keep pushing the limits of what it's possible to create in a browser while maintaining a highly performant UX
Improve our file load times by dynamically loading needed content, optimizing our client-server protocols, and exploring ways to allow users to interact with files earlier
Optimize our renderer in order to increase frame rate during periods of heavy interaction with FigJam
Provide rich abstractions and APIs between our React/Typescript and C++/Wasm engine, or
Expand the way our users can extend the functionality of our products through plugins and widgets, our REST API, as well through new ML-powered extensibility features
We’d love to hear from you if you have:
At least 2+ years of professional experience shipping features or products with specialization in web frontend frameworks or C++/Wasm
Experience working on game engines, client side technologies and platforms, API products/integrations, and/or developer tools
Demonstrated coding fluency with one or more programming languages in a working context, including but not limited to: Typescript/Javascript, C++, React, Ruby, Java, Python, Go, or Rust
Experience communicating and collaborating regularly and effectively with designers, PMs, engineers, and stakeholders beyond your team (or org) to plan features and break down high level goals into tasks and timelines,
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:
2+ years of experience operating in a hands-on technical lead capacity, ideally with multi-team purview
A passion for and experience with driving product direction and developing product platforms
Read more about our team:
#LI-Remote