Software Engineer - Rendering and Animation
Company
Figma
Location
USA
Type
Full Time
Job Description
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:
Date Posted
10/31/2024
Views
0
Similar Jobs
Software Development Engineer III - Identity & Auth - Mapbox
Views in the last 30 days - 0
Mapbox is a leading platform for locationaware businesses offering robust tools and security features The role involves developing secure identity man...
View DetailsSoftware Engineer - Distributed Systems - Figma
Views in the last 30 days - 0
This job description highlights a Software Engineer role at Figma focusing on infrastructure design and distributed systems It emphasizes collaboratio...
View DetailsSoftware Engineer (L5) - Ads Identity, Signals & Audiences - Advertiser User Engagement Signals - Netflix
Views in the last 30 days - 0
Netflix highlights its leading entertainment service with over 300 million members introduces an adsupported tier and outlines a Software Engineer rol...
View DetailsFull Stack Engineer - Oddball
Views in the last 30 days - 0
Oddball seeks a Full Stack Engineer to build quality software for the federal space emphasizing impact growth and clean code The role offers remote wo...
View DetailsFront-End Engineer (Senior/ Staff) - Equilibrium Energy
Views in the last 30 days - 0
Equilibrium seeks a FrontendFullStack Engineer to innovate in renewable energy software shaping scalable solutions for complex power systems The role ...
View DetailsData Platform Engineer (Staff / Sr Staff) - Equilibrium Energy
Views in the last 30 days - 0
This job description highlights a foundational role in designing data platforms focusing on infrastructure cataloging and collaboration with teams It ...
View Details