Software Engineer – Design Tools

Figma

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!

The Figma Design Tools are the heart and soul of our product offerings and has set a new standard for what’s possible on the web. Our users spend hours in the design tools each day brainstorming, iterating on designs, crafting prototypes, and getting feedback at all stages of the creative process. Our design tools empower entire teams to design together in real time via a high-performance browser-based graphics application—even with intermittent internet connectivity and network bandwidth—which presents unique technical challenges around how we craft our UX and data models. 

Everything you see on the canvas in a Figma design tool uses C++, which compiles to WebAssembly to run in the browser and offer more control over performance, memory management, and rendering. We use Typescript and React/Redux for the UI around the canvas, where key elements like the properties panel, toolbar, and modals live. Typescript gives us type checking capability, more guardrails around code correctness, and allows us to generate HTML and CSS in order to take advantage of more standard UI patterns. We have a service-oriented architecture and use Ruby/Sinatra, Go, and Rust on the backend for Figma’s main API server. Professional experience with these languages and technologies is not a requirement. We encourage candidates to use the programming language that they’re most comfortable with during interviews—new hires will be ramped in our codebase during onboarding.

Figma is a highly collaborative organization. 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 oftenlift your teamfocus on craftsmanship, and prioritize impact. You can learn more about our engineering values and how we developed them here.
What you’ll do at Figma:

  • Build new features in a real time, multiplayer system with a complex data model that enables collaboration across files
  • Build design features to enable users have strong and accurate control on design elements, such as layout, transformations, color management, typography, etc.
  • Build features to accelerate the creative process by offering out-of-the-box design assets such as presets, kits, templates, and so on.
  • Build tooling for authoring prototype behaviors in Figma design tools, allowing users to create dynamic, interactive designs
  • Solve for performance and memory optimizations—we want to keep pushing the limits of what it’s possible to create in a browser while maintaining a highly performant UX

We’d love to hear from you if you have:

  • 4+ years of professional experience shipping user-facing features or products as a full-stack developer
  • Demonstrated fluency with one or more programming languages, including: Typescript/Javascript, React, C++, Python, Java, Objective-C, Go, or Rust
  • Experience communicating and working across functions to proactively drive solutions

While not required, it’s an added plus if you also have:

  • 2+ years of experience operating in a technical lead capacity 
  • Experience in and a desire to teach fellow engineers through pairing, code review, and in-the-moment feedback.
  • Experience working on editors, whiteboards products
  • Experience writing C++ (or related languages such as Objective C or C) in a user-facing context (e.g. gaming, native applications).

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.

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

Set up job alerts and get notified about the new jobs

Similar Remote Jobs