Figma
Software Engineer - Design Tools
Figma, San Francisco, CA
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 often, lift your team, focus 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 filesBuild 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 designsSolve 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 UXWe'd love to hear from you if you have:4+ years of professional experience shipping user-facing features or products as a full-stack developerDemonstrated fluency with one or more programming languages, including: Typescript/Javascript, React, C++, Python, Java, Objective-C, Go, or RustExperience communicating and working across functions to proactively drive solutionsWhile 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 productsExperience 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 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.