Rendering Engineer

Figma San Francisco, CA

Company

Figma

Location

San Francisco, CA

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 r endering operations that are executed on the GPU using WebGL . Our team h ouses the company's e xpertise 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 extend a ble 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! W e'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 opportunit ies 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 .
  • An interest in mentorship, learning from others, and digging into new challenges .
  • An inclusive approach towards building features, solving problems, investing in culture, and growing teams .

Our end to end process will cover, at a high level:
  • An initial non-technical call with a recruiter.
  • A live practical technical screen with an engineer using the programming language of your choice.
  • A video-based conversation with the manager of your potential team.
  • A fully virtual "onsite" interview with both technical/coding and non-technical/discussion-based areas of focus.

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.
Read more about our team:
  • How to build a plugin system on the web and also sleep well at night
  • How Figma's multiplayer technology works
  • Investing in Figma: The Decade of Design
  • How work is changing at Figma
Apply Now

Date Posted

06/24/2023

Views

12

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

Similar Jobs

Software Engineer, Data Platform (Lead) - Benchling

Views in the last 30 days - 0

Benchling a leading biotechnology company is seeking a Senior Software Engineer to design and implement scalable multitenant services and APIs The rol...

View Details

Senior Product Manager, Dev Solutions - Atlassian

Views in the last 30 days - 0

Atlassian offers a remote position for a Product Manager in the Dev Solutions team The role involves collaborating with crossfunctional teams to lead ...

View Details

Principal, Strategy - Point B

Views in the last 30 days - 0

Point B is a business innovation firm that specializes in transformation by combining advanced technologies and industry expertise They aim to help bu...

View Details

Lead Software Engineer (Roku Development) - The Walt Disney Company

Views in the last 30 days - 0

Disney Entertainment ESPN Technology is seeking an experienced Lead Software Engineer for the Roku Client Application Engineering Team The role invol...

View Details

GenAI Architect - ServiceNow

Views in the last 30 days - 0

ServiceNow a global market leader in AIenhanced technology is seeking a GenAI Architect to drive customer outcomes and value realization The role invo...

View Details

Entry Level Software Engineer - EchoStar

Views in the last 30 days - 0

EchoStar Corporation a global leader in satellite communication solutions is seeking an Entry Level Software Engineer for its Hughes Network Systems d...

View Details