Software Engineer - Rendering and Animation
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, and own areas such as our in-memory data model (SceneGraph), renderer, and multiplayer client/server protocols.
Within Creation Engine, the Rendering & Animation team focuses on the lowest level of the stack, where we convert the SceneGraph into primitive rendering operations that are executed on the GPU using WebGL. Our team houses the company’s expertise in rendering of 2D vector graphics, rendering algorithms, rendering APIs, and GPU profiling and optimization. Our mission is to make rendering performant, feature-rich, reliable, maintainable, and extendable across all products and surfaces.
Rendering & Animation engineers use a combination of C++ and TypeScript for CPU-side code (to support our two renderers); our shaders are written in GLSL. The team recently completed a large project to replace our legacy rendering backend with a new one - “TinyGPU” - that is more modern, much smaller, and easier to work with. This project has laid the groundwork for a new era focused on feature expansion, performance optimization, advanced animation, and future product launches. Each new product at Figma pushes beyond our previous rendering assumptions, requiring constant innovation and visionary foundations.
The Rendering & Animation team is looking for engineers with domain expertise in rendering algorithms and APIs, as well as both high- and low-level performance optimization. Experience relating to rendering of 2D vector graphics specifically is a plus, but not required! We’re looking for someone who is excited to explore the latest graphics technologies like WebGPU, plus develop and implement new algorithmic techniques for things like high-performance antialiasing.
Figma is a highly collaborative organization and most projects are owned by small teams of 2-3 people. 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:
Work closely with teammates and partners in Engineering, Product, Design, Marketing, User Research, and Data Science to build new features and achieve roadmap goals. We prioritize collaboration and cross-functional partnerships, so you won’t operate in silos. Some efforts you might impact include:
Creating and optimizing shaders to render blurs of primitive shapes in a single pass
Improving how we order and batch draws to reduce draw calls and render target switches
Developing and implementing faster approaches to anti-aliasing (an open area of research in 2D vector graphics!)
Implementing performant animations using multiple layer caches for fast compositing
Drive guidance, quality, and standards for rendering at Figma, and explore opportunities that keep us on the bleeding edge of new capability and advancements.
Be a mentor and provide thoughtful feedback to your peers, and benefit from strong personal and professional mentorship opportunities yourself.
Contribute to org-wide initiatives like new hire onboarding, interview process development, and Belonging/Equity/Inclusion efforts.
Continue ramping and learning. The technical challenges you'll tackle on the Rendering & Animation team are unique, fun, ambitious, and ever-evolving.
We'd love to hear from you if you have:
8+ years of professional experience shipping software with a specialization on Rendering and Graphics (2D or 3D), ideally with experience in C++/WebAssembly.
Experience working on game engines, client-side technologies and platforms, and rendering APIs like OpenGL, WebGL, WebGPU, Vulkan, Metal, or DirectX.
Demonstrated fluency with one or more low-level programming languages, including but not limited to: C++, C, Objective-C, Go, or Rust.
Deep familiarity with the rendering pipeline and rendering concepts.
Proactive communication skills and a desire to work in a collaborative environment.
Read more about our team:
About the job
Apply for this position
Software Engineer - Rendering and Animation
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, and own areas such as our in-memory data model (SceneGraph), renderer, and multiplayer client/server protocols.
Within Creation Engine, the Rendering & Animation team focuses on the lowest level of the stack, where we convert the SceneGraph into primitive rendering operations that are executed on the GPU using WebGL. Our team houses the company’s expertise in rendering of 2D vector graphics, rendering algorithms, rendering APIs, and GPU profiling and optimization. Our mission is to make rendering performant, feature-rich, reliable, maintainable, and extendable across all products and surfaces.
Rendering & Animation engineers use a combination of C++ and TypeScript for CPU-side code (to support our two renderers); our shaders are written in GLSL. The team recently completed a large project to replace our legacy rendering backend with a new one - “TinyGPU” - that is more modern, much smaller, and easier to work with. This project has laid the groundwork for a new era focused on feature expansion, performance optimization, advanced animation, and future product launches. Each new product at Figma pushes beyond our previous rendering assumptions, requiring constant innovation and visionary foundations.
The Rendering & Animation team is looking for engineers with domain expertise in rendering algorithms and APIs, as well as both high- and low-level performance optimization. Experience relating to rendering of 2D vector graphics specifically is a plus, but not required! We’re looking for someone who is excited to explore the latest graphics technologies like WebGPU, plus develop and implement new algorithmic techniques for things like high-performance antialiasing.
Figma is a highly collaborative organization and most projects are owned by small teams of 2-3 people. 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:
Work closely with teammates and partners in Engineering, Product, Design, Marketing, User Research, and Data Science to build new features and achieve roadmap goals. We prioritize collaboration and cross-functional partnerships, so you won’t operate in silos. Some efforts you might impact include:
Creating and optimizing shaders to render blurs of primitive shapes in a single pass
Improving how we order and batch draws to reduce draw calls and render target switches
Developing and implementing faster approaches to anti-aliasing (an open area of research in 2D vector graphics!)
Implementing performant animations using multiple layer caches for fast compositing
Drive guidance, quality, and standards for rendering at Figma, and explore opportunities that keep us on the bleeding edge of new capability and advancements.
Be a mentor and provide thoughtful feedback to your peers, and benefit from strong personal and professional mentorship opportunities yourself.
Contribute to org-wide initiatives like new hire onboarding, interview process development, and Belonging/Equity/Inclusion efforts.
Continue ramping and learning. The technical challenges you'll tackle on the Rendering & Animation team are unique, fun, ambitious, and ever-evolving.
We'd love to hear from you if you have:
8+ years of professional experience shipping software with a specialization on Rendering and Graphics (2D or 3D), ideally with experience in C++/WebAssembly.
Experience working on game engines, client-side technologies and platforms, and rendering APIs like OpenGL, WebGL, WebGPU, Vulkan, Metal, or DirectX.
Demonstrated fluency with one or more low-level programming languages, including but not limited to: C++, C, Objective-C, Go, or Rust.
Deep familiarity with the rendering pipeline and rendering concepts.
Proactive communication skills and a desire to work in a collaborative environment.
Read more about our team: