Figma
Software Engineer - Rendering and Animation
Figma, New York, NY
Figma is growing our team of passionate people on a mission to make design accessible to all. Born on the Web, Figma helps entire product teams brainstorm, design and build better products — from start to finish. Whether it’s consolidating tools, simplifying workflows, or collaborating across teams and time zones, Figma makes the design process faster, more efficient, and fun while keeping everyone on the same page. From great products to long-lasting companies, we believe that nothing great is made alone—come make with us!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 passImproving how we order and batch draws to reduce draw calls and render target switchesDeveloping 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 compositingDrive 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: How to build a plugin system on the web and also sleep well at nightHow Figma’s multiplayer technology worksInvesting in Figma: The Decade of DesignPay Transparency DisclosureIf based in Figma’s San Francisco or New York hub offices, this role has the annual base salary range stated below. Job level and actual compensation will be decided based on factors including, but not limited to, individual qualifications objectively assessed during the interview process (including skills and prior relevant experience, potential impact, and scope of role), market demands, and specific work location. The listed range is a guideline, and the range for this role may be modified. For roles that are available to be filled remotely, the pay range is localized according to employee work location by a factor of between 80% and 100% of range. Please discuss your specific work location with your recruiter for more information. Figma offers equity to employees, as well a competitive package of additional benefits, including health, dental & vision, retirement with company contribution, parental leave & reproductive or family planning support, mental health & wellness benefits, generous PTO, company recharge days, a learning & development stipend, a work from home stipend, and cell phone reimbursement. Figma also offers sales incentive pay for most sales roles. Figma’s compensation and benefits are subject to change and may be modified in the future. You may view our Pay Transparency Policy by clicking on the corresponding link.Annual Base Salary Range (SF/NY Hub):$149,000—$350,000 USDAt Figma we celebrate and support our differences. We know employing a team rich in diverse thoughts, experiences, and opinions allows our employees, our product and our community to flourish. Figma is an equal opportunity workplace - we are dedicated to equal employment opportunities regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity/expression, veteran status, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements.We will work to ensure individuals with disabilities are provided reasonable accommodation to apply for a role, participate in the interview process, perform essential job functions, and receive other benefits and privileges of employment. If you require accommodation, please reach out to accommodations-ext@figma.com. These modifications enable an individual with a disability to have an equal opportunity not only to get a job, but successfully perform their job tasks to the same extent as people without disabilities. Examples of accommodations include but are not limited to: Holding interviews in an accessible locationEnabling closed captioning on video conferencingEnsuring all written communication be compatible with screen readersChanging the mode or format of interviews By applying for this job, the candidate acknowledges and agrees that any personal data contained in their application or supporting materials will be processed in accordance with the applicable candidate section of Figma's Privacy Policy.