Occuspace

Embedded Firmware Engineer

San Francisco, CA, US

about 1 month ago
Save Job

Summary

Who We Are:

At Occuspace, we believe the physical world should be as data-driven as the digital world. Space utilization data drives better and more sustainable design, management and experience of physical spaces. Our mission is to make it simple and easy to collect and act on this data. We believe that how humans interact with buildings will be the single most important datapoint in designing the buildings of the future. We have a lot of work to do to make space utilization data a standard metric for all commercial buildings, but with a world class team working in a low ego environment, we believe we can truly change how we design, manage, and experience the built environment.

What You'll Do:

We are seeking an experienced and dynamic embedded firmware engineer to join our team and lead the development of the firmware powering Occuspace sensors.

We are looking for individuals who are passionate about engineering and interested in working with an elite team of engineers building the world's most scalable space utilization platform. The ideal candidate would be an experienced engineer who's worked on high-quality, multidisciplinary teams, be highly analytical, and be willing to solve unique challenges. On a daily basis you will:

  • Ship firmware to sensors deployed globally across government, higher ed and fortune 500 organizations
  • Play a critical role in the definition and execution of long-term roadmaps in partnership with with silicon architects, hardware designers, and algorithm and model development teams
  • Lead the design and development of embedded software engineering activities and provide technical leadership and guidance to team members
  • Conduct hardware testing, troubleshoot issues, and ensure seamless hardware-software integration
  • Contribute to factory test procedures to ensure shipment of quality product
  • Use the Yocto Project to configure, customize, and build Linux distributions for embedded systems


Requirements

  • Have 5+ years professional (or comparable) experience programming in Go, C or C++
  • Have a firm knowledge of embedded systems development concepts, including cross-platform development and build tools (Yocto, GNU toolchain), bootloaders (U-Boot, UEFI), kernel configuration, device drivers, device trees
  • Have strong experience executing embedded system firmware tasks from engineering concept to product delivery
  • Experience deploying to the Cloud (AWS, Azure, GCP)
  • Experience in developing code for low power wireless devices e.g. WiFi, BLE
  • Experience in developing devices for large volume production
  • Strong Problem Solving Skills using Go and C/C++
  • Have good understanding of unix based OS and Network fundamentals
  • Have strong systems and networking foundational knowledge (systems architecture, memory hierarchy, storage subsystems, LANs, routing)
  • Know common bus protocols like I2C, SPI, and UART

BONUS POINTS FOR:

  • An eagerness for learning about software and systems, and an interest in breaking things to learn how to make them better
  • Upstreaming Linux patches
  • Experience with multi-threaded or parallel programming
  • Are comfortable using network protocol analyzers, logic analyzers, hardware debuggers, and source-level debuggers to troubleshoot problems at all layers of the stack


Benefits

  • A high-impact role on a world-class team with low ego
  • A work environment that is flexible
  • Competitive compensation and equity
  • Employer-sponsored medical, dental and vision insurance and other HR benefits
  • Open vacation policy
  • Retirement savings plan
  • Professional development opportunities

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job

People also searched: