Software Engineer - Extensibility
The Extensibility team owns Figma’s developer platform: plugins, widgets, REST API, and webhooks. Entire companies have been built around Figma plugins. Tens of thousands of designers at large Figma customers use private plugins to work faster. Developers use our APIs to power workflows that synchronize design system variables from GitHub into Figma variables, and update project management tasks when designs are marked ready for development.
Our team touches broad parts of the Figma product: maintaining a JavaScript sandbox, creating new kinds of plugins for Dev Mode, optimizing JSON encoding in C++, operating large-scale live services written in Node and Go, updating our multiplayer service to accept server-side writes, and writing a React-style “diffing” algorithm for widgets. We also do a moderate amount of fullstack development with a React frontend and a Sinatra backend.
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:
Write Typescript, Ruby, and C++ code implementing new features, fixing bugs, and performance issues.
Work with Figma product teams to help their features get exposed programmatically via our plugin and REST API.
Work closely with product managers and product designers to design simple experiences for complex UX problems.
Meet with members of our developer community to understand their successes and pain points.
We’d love to hear from you if you have:
Industry experience working on a developer platform or developer tooling.
5+ years of experience with React or similar front-end Typescript frameworks.
Experience with distributed systems and/or running a high volume public API.
Experience with ORMs, reading and writing SQL, and debugging query plans.
While it’s not required, it’s an added plus if you also have:
Experience embedding a virtual machine in another programming language.
Experience with WebAssembly.
C++ or C experience.
Extensive experience building developer platforms or open source communities.
A strong design sense and proven track record working closely with product designers.
About the job
Apply for this position
Software Engineer - Extensibility
The Extensibility team owns Figma’s developer platform: plugins, widgets, REST API, and webhooks. Entire companies have been built around Figma plugins. Tens of thousands of designers at large Figma customers use private plugins to work faster. Developers use our APIs to power workflows that synchronize design system variables from GitHub into Figma variables, and update project management tasks when designs are marked ready for development.
Our team touches broad parts of the Figma product: maintaining a JavaScript sandbox, creating new kinds of plugins for Dev Mode, optimizing JSON encoding in C++, operating large-scale live services written in Node and Go, updating our multiplayer service to accept server-side writes, and writing a React-style “diffing” algorithm for widgets. We also do a moderate amount of fullstack development with a React frontend and a Sinatra backend.
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:
Write Typescript, Ruby, and C++ code implementing new features, fixing bugs, and performance issues.
Work with Figma product teams to help their features get exposed programmatically via our plugin and REST API.
Work closely with product managers and product designers to design simple experiences for complex UX problems.
Meet with members of our developer community to understand their successes and pain points.
We’d love to hear from you if you have:
Industry experience working on a developer platform or developer tooling.
5+ years of experience with React or similar front-end Typescript frameworks.
Experience with distributed systems and/or running a high volume public API.
Experience with ORMs, reading and writing SQL, and debugging query plans.
While it’s not required, it’s an added plus if you also have:
Experience embedding a virtual machine in another programming language.
Experience with WebAssembly.
C++ or C experience.
Extensive experience building developer platforms or open source communities.
A strong design sense and proven track record working closely with product designers.