Job Description
SF OR NY OR REMOTE US
Figma is adding to our team of passionate people who are revolutionizing the world of design. We are building a browser-based design tool that looks and feels as good as a native application and has all the additional power and advantages that come from being built upon the web platform. If you’re looking to work at a disruptive company who is building the future of design tools, welcome to Figma.
We use two different development stacks: a C++ stack for the core editor, and a traditional n-tier web platform using ReactJS, Ruby, Node.js and PostgreSQL. Some of our engineers specialize in just one part of this stack, and others move back and forth between them.
More than anything, we seek engineers with strong coding and algorithms fundamentals, a reputation for engineering excellence, and a love for engineering. If you share our passion of developing amazing new products for designing a better world, let's talk!
Some main areas of focus are
application development
experience building professional applications using C++ on the web or desktop
experience developing connected applications a plus
graphics programming
experience with OpenGL or experience building desktop application UIs is a plus
web frontend
extensive experience building single page web applications
experience with ReactJS a plus
systems engineering
extensive experience developing and operating computer systems at scale
experience with Ruby, Node.js, and PostgreSQL is a plus
familiarity with AWS
experience implementing distributed systems
familiarity with OT or CRDT a plus
Responsibilities
Collaborate with designers, QA, and other engineers to design features and break down high level goals into tasks and timelines.
Build, document and maintain tests, features and infrastructure.
Communicate and document architectural designs and requirements.
Provide thoughtful feedback to others on the team.
Help interview and recruit more talented engineers to Figma.
Minimum Qualifications
Experience with one or more general purpose programming languages, including but not limited to: C/C++, Objective C, JavaScript, Java, Python, or Ruby
Interest in learning other programming languages as needed
Experience working with two or more from the following: web application development, Unix/Linux environments, mobile application development, distributed and parallel systems, information retrieval, networking, developing large software systems, and/or security software development
Working proficiency and interpersonal skills in verbal and written English
Bonus Qualifications
Master’s, PhD degree, further education or experience in engineering, computer science or other technical related field
Background in design (either visual design or UX design)
Experience with mobile application development on iOS or Android
Experience with graphics programming (2D or 3D)
Experience with Web Canvas APIs and/or WebGL
Experience building professional design tools
Experience building web-based products at consumer scale