Firmware/Software Engineer

  • Framework
  • San Francisco, CA, USA
  • 06 May, 2024
Full time

Job Description

The Position
We are looking for a Software Engineer based in the US or Canada to own key parts of the device software and firmware implementation of our products. Our products are designed to be open and transparent, and that extends to how we think about firmware and software. We care deeply about open-source software and exposing greater configurability to people who want it, and a key part of this role is adopting and contributing to open libraries and frameworks. As one of the early engineers in Framework, you'll also have a high level of influence on our products and software philosophy going forward.

This role is a full-time remote position based in the US or Canada. If you’re local to San Francisco area, we spend one day a week together in person. This position will require some local and international travel to suppliers and our San Francisco headquarters. Because of how closely we collaborate between our team members and suppliers in the US and Taiwan, this role will also require ~10 hours a week of working time overlap with Taipei Standard Time (GMT+8), which is generally easier if you are located in Pacific Time.


What You'll Do

  • Own implementation of application software, drivers, and support development of embedded controller and BIOS features.
  • Manage and review work done by firmware and software teams at our manufacturing partners.
  • Create validation plans and bring up and debug systems during NPI on new programs.
  • Proactively track and experiment with new technologies and software frameworks to improve our products.
  • Ensure that projects you develop can be built on CI and can be validated.


What You Need

  • Bachelor's degree in Computer Science or equivalent experience.
  • 5+ years of experience in firmware development and software engineering for electronics products.
  • Familiarity with cross-platform application frameworks.
  • A background in developing software projects end to end.
  • Ability to collaborate and communicate effectively with other engineers and program managers.
  • Strong written and verbal English communication abilities and familiarity with working across time zones.


What's Nice to Have

  • A passion for environmentalism and/or DIY.
  • Expertise with software and firmware development in a startup.
  • Experience with Rust.
  • Expertise at embedded firmware development in C and scripting in Python or similar languages.
  • Previous experience with coreboot, Tianocore, Zephyr, FreeRTOS, CMSIS, or other open-source firmware or RTOS platforms.
  • Familiarity working with UI/UX designers to define and implement application features.
  • Familiarity with system-level software and drivers on Windows and/or Linux.
  • Experience developing utilities for automation, debugging, and diagnostics.
  • A strong understanding of adjacent functional areas like electrical engineering.
  • Experience working as a remote member of an international team.


What You'll Love

  • Competitive salary, equity, and health benefits
  • Paid company holidays plus 20 PTO days per year
  • Paid Parental Leave
  • Flexible work hours and locations, including every other Friday off!
  • 401K with matching for US employees
  • The chance to work at a startup that is making a positive social and environmental impact
Equal Opportunity
We commit ourselves to the principles of equal employment and a diverse work environment. With inclusion being one of our core values at Framework, we do not discriminate on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, or any other characteristic protected by applicable federal, state, or local laws. We will consider qualified applicants regardless of criminal histories pursuant to the San Francisco Fair Chance Ordinance and Los Angeles Fair Chance Ordinance.

We are also committed to providing reasonable accommodations for all qualified individuals with disabilities. If you require an accommodation to participate in the application or interview process, please let us know by reaching out to