Skip to content

Software Engineer, C++

Develops high-performance C++/WebAssembly client-side systems for Figma's real-time collaborative design platform. Optimizes browser performance, extends multiplayer protocols, and builds accessible features. Requires 4+ years experience with C++, TypeScript, and web applications.

149k – 350kSan Francisco, CANew York, NYEmbedded EngineeringRemote4+ YOE

About the role

What you’ll do

  • Build core features and frontend infrastructure in a real-time, multiplayer system with a complex in-memory data model (SceneGraph)
  • Optimize performance and memory usage to deliver a fast, reliable UX in the browser using C++/WebAssembly and TypeScript
  • Extend our core C++ engine and multiplayer protocols to support scalable design systems, branching/merging flows, and advanced collaboration modes
  • Design and build APIs and tooling to allow product teams to build against our platform with ease and confidence
  • Contribute to accessibility strategy and implementation, ensuring our tools are usable by all
  • Collaborate regularly with cross-functional partners across product, design, and engineering to plan and execute high-impact projects
  • Write clear, maintainable code and documentation, and contribute to architectural decisions
  • Mentor and support other engineers through pairing, code review, and feedback
  • Help drive recruitment and shape our inclusive, high-performance engineering culture

We’d love to hear from you if you have

  • 4+ years of professional Software Engineering experience shipping user-facing features or products
  • Strong programming skills in one or more languages relevant to our frontend such as TypeScript, C++, React, Go, Rust, or Python
  • Experience working with web-based applications, browser performance, or real-time collaborative systems
  • A track record of working collaboratively across teams and disciplines to deliver complex technical projects

Nice-to-haves

  • 2+ years of experience in a technical lead role, especially across multiple teams
  • Experience with game engines, rendering systems, or other performance-critical applications
  • Background in developer platforms or API design
  • Familiarity with WebAssembly, browser internals, or C++ in a frontend context
  • Passion for crafting collaborative tools and creative workflows
  • A strong product mindset and attention to user experience
  • A commitment to continuous learning, inclusion, and helping others grow

Skills

C++WebassemblyTypeScriptReactReal-Time SystemsMultiplayer ProtocolsBrowser PerformanceScenegraphGoRust

Autonomy Software Engineer – Path Planning

Develop and integrate core path planning algorithms for autonomous aerial systems (UAVs, fighter aircraft) supporting military missions. Requires 3-5 years experience with sampling/grid-based planning methods, C++ or Python, and outer-loop control systems.

150k – 200kSunnyvale, CAEmbedded EngineeringOn-site3+ YOEA*C++

Embedded AI Engineer – Android Automotive (On-Device Intelligence)

Develops and deploys embedded ML systems and on-device multimodal LLMs for Android Automotive platforms, optimizing for edge constraints like latency and safety. Requires 3+ years shipping ML on embedded/mobile platforms, C++ proficiency, and Android expertise.

150k – 250kSunnyvale, CAEmbedded EngineeringOn-site3+ YOEC++Jni

Embedded Security Engineer

Leads embedded security architecture for vehicle platforms, implementing secure boot, HSM integration, and cryptographic protections. Requires 5+ years experience, expertise in embedded security, and programming in C/C++/Python.

150k – 242kSunnyvale, CAEmbedded EngineeringOn-site5+ YOECHsm

Path Planning Engineer

Develops real-time path and motion planning algorithms in C++ for autonomous vehicles, integrates with on-vehicle systems like perception and controls, and validates through simulation, HIL, and field testing. Requires strong C++ skills, robotics background, and hands-on deployment experience.

150k – 180kClarksburg, MDEmbedded EngineeringOn-siteC++ROS

Software Engineer (Robotics)

Builds high-performance, low-latency distributed systems and real-time data pipelines in C++ or Rust for edge robotics hardware. Requires 3+ years systems programming experience, strong concurrency knowledge, and Linux optimization skills.

150k – 200kSunnyvale, CAEmbedded EngineeringOn-site3+ YOEC++Rust