Embedded Software/Firmware Engineer

SnapVancouver, WA
Hybrid

About The Position

Snap Inc. is seeking an Embedded Software/Firmware Engineer to join the Spectacles team. This role involves developing embedded software and firmware for micro-display systems, display chips, and related tools. The engineer will have clear ownership across implementation, integration, validation, and release. The position requires designing, implementing, and validating software features for display ASICs, modules, microcontrollers, and host-side tools. Responsibilities include setting up and maintaining embedded software and firmware build environments, build flows, and development tooling for efficient validation and release. The engineer will also build test plans and test code to verify new features, work across emulator, board, and silicon environments for debugging and validation, and collaborate closely with software, firmware, ASIC, EE, and production teams. Additionally, the role involves developing and maintaining tools, libraries, interfaces, and build workflows, investigating and driving root-cause analysis for issues across software, firmware, tools, and hardware, and creating clear bug reports and Jira tickets. Documentation of software flows, build/setup procedures, test procedures, board/tool usage, and user-facing interfaces is also a key part of the role. The engineer will contribute to code reviews and help improve code quality, testability, maintainability, and build reliability.

Requirements

  • Strong programming skills in C/C++ and Python; C# experience is a plus
  • Strong understanding of embedded systems, including boards, chips, interfaces, software/firmware interactions, and system-level debuggability
  • Experience setting up and maintaining build environments, build tools, and development workflows for embedded software, firmware, and related tools
  • Experience working across hardware and software boundaries, including bring-up, debugging, and validation
  • Familiarity with communication interfaces such as USB, I2C/I3C, SPI, UART, MIPI, SWD, and PCIe
  • Ability to work closely with cross-functional teams including EE, ASIC, production, and software partners
  • Strong debugging and problem-solving skills in complex multi-component systems
  • Experience using AI-assisted engineering tools such as Claude Code, Cursor, Copilot, or similar tools to improve productivity and development velocity
  • Great interpersonal skills and the ability to collaborate effectively through written, verbal, and visual communication
  • BS/BA degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field
  • 5+ years of experience in embedded software or firmware development
  • Experience developing in C/C++ and Python for embedded systems, firmware, or system-level tools
  • Experience debugging hardware/software integration issues in embedded or consumer electronics systems

Nice To Haves

  • Experience developing software or firmware for display, imaging, or other consumer-electronics systems
  • Experience with small microcontrollers such as ARM or RISC-V
  • Experience developing firmware in C/C++ on RTOS or non-RTOS systems
  • Experience with board bring-up, chip validation, and system-level debugging
  • Experience building internal tools, validation frameworks, or automation for embedded development workflows
  • Experience identifying issues across hardware, firmware, and software in mass-produced consumer devices
  • Knowledge of micro-display systems, video standards, and related protocols such as MIPI, HDMI, and DisplayPort
  • Experience using lab equipment such as oscilloscopes and logic analyzers
  • Self-starter who can organize complex issues, drive them to closure, and operate effectively in ambiguous environments
  • Passion for Snapchat and creativity

Responsibilities

  • Develop embedded software and firmware for micro-display systems, display chips, and related tools with clear ownership scope across implementation, integration, validation, and release
  • Design, implement, and validate software features for display ASICs, modules, microcontrollers, and host-side tools
  • Set up, maintain, and improve embedded software and firmware build environments, build flows, and development tooling for efficient validation and release
  • Build test plans and test code to verify new features before release to production and partner teams
  • Work across emulator, board, and silicon environments to debug and validate system behavior, with strong focus on hardware debuggability, root-cause analysis, and issue isolation at the system level
  • Collaborate closely with software, firmware, ASIC, EE, and production teams to bring up and verify new hardware and software features
  • Develop and maintain tools, libraries, interfaces, and build workflows used by internal teams for validation, debugging, and production enablement
  • Investigate issues across software, firmware, tools, and hardware, and drive root-cause analysis through resolution
  • Create clear bug reports and Jira tickets for issues related to software, firmware, tools, and hardware interactions
  • Document software flows, build/setup procedures, test procedures, board/tool usage, and user-facing interfaces for internal developers and partner teams
  • Contribute to code reviews and help improve code quality, testability, maintainability, and build reliability across software, firmware, and tooling

Benefits

  • paid parental leave
  • comprehensive medical coverage
  • emotional and mental health support programs
  • compensation packages that let you share in Snap’s long-term success
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service