We use cookies. Find out more about it here. By continuing to browse this site you are agreeing to our use of cookies.
#alert
Back to search results

Software Engineer - Extensibility

Figma
parental leave, remote work
United States, California, San Francisco
116 New Montgomery Street (Show on map)
Dec 20, 2024

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-comemake with us!

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.

Pay Transparency Disclosure

If 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 USD

At 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 location
  • Enabling closed captioning on video conferencing
  • Ensuring all written communication be compatible with screen readers
  • Changing 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.

Applied = 0

(web-86f5d9bb6b-f242k)