Software Engineer - Rendering and Animation

Figma • USA

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:

Apply Now

Date Posted

10/31/2024

Views

0

Back to Job Listings ❤️Add To Job List Company Info View Company Reviews
Positive
Subjectivity Score: 0.8

Similar Jobs

Developer II - Eventbrite, Inc.

Views in the last 30 days - 0

Eventbrite is seeking a Web Application Developer to join their highperforming GTM Gotomarket Business Systems team The role involves implementing and...

View Details

Mobile Engineering Manager - Mobile Retention - Dropbox

Views in the last 30 days - 0

Dropbox is seeking a Mobile Engineering Manager to lead a team of iOS and Android engineers working on the Dropbox apps The role involves managing cri...

View Details

Commercial Account Executive - Mid Market - MariaDB plc

Views in the last 30 days - 0

MariaDB is a leading database for modern application development used by 75 of the Fortune 500 and billions of people daily The company is seeking a C...

View Details

Engineering Manager - Lattice

Views in the last 30 days - 0

Lattices Engineering team is dedicated to improving their product and craft using a modern tech stack They prioritize maintainable robust and performa...

View Details

Solution Engineer - Ottimate

Views in the last 30 days - 0

Ottimate is a company that automates accounts payables for fastgrowing businesses They offer a cloudfirst approach for invoice management and payments...

View Details

Sr. Front End Engineer - ScienceLogic

Views in the last 30 days - 0

ScienceLogic is seeking a FrontEnd React with TypeScript developer to join their team The role involves building intuitive user interfaces for their A...

View Details