Senior Firmware Engineer - DeviceKit

WeWork is the platform for creators, providing hundreds of thousands of members across the globe space, community, and services that enable them to do what they love and craft their life's work. Our mission is to build a world where people work to make a life, not just a living, and our own team members are central to that goal.


We are building software for physical space that uses data and technology at each point in the building process, such that it can make better sourcing decisions, improve its designs, build faster and smarter, and ultimately improve the lives of the people working within its buildings. Our state of the art technologies and dedication to technological innovation are key reasons why WeWork has been able to scale from operating one workspace location to more than 250 in just over eight years.


The mission of Core Platform is to provide a unified underlying platform on top of which all member products and services will run. We are building a backbone for all technical applications at WeWork, including instrumentation of our own spaces and those of our partners, as well as experiences enabled by a variety of new devices. As a member of the BuildingKit team in Firmware, you will help to build a reusable and composable firmware platform for controlling a wide variety of hardware, all integrated with our sensor and control networks.


Responsibilities



  • Assist in embedded software development for internal projects from prototype to production.

  • Work collaboratively on a product team, owning the ongoing support and development of the product's embedded software.

  • Write specifications about the firmware you're developing, i.e. document your work as you go.

  • Build and improve on tools for validation, testing and debugging of firmware.

  • Collaborate with in-house and external hardware design engineers throughout the system design and development process.

  • Identify hardware and software platforms to develop current and future products on.


Requirements



  • BA/BS degree in CS, ECE, or related with 5+ years of experience

  • Production experience in embedded systems programming

  • Production experience in embedded C/C++


Nice to have



  • MA/MS CS or ECE.

  • Comfortable writing your own makefiles and linker scripts

  • Experience bringing an electronics product to market

  • Experience with small-footprint and low-power embedded systems

  • Experience with embedded Linux and Real Time Operating Systems (FreeRTOS, Zephyr OS, etc.)

  • Experience with code coverage and static analysis tools

  • Experience with automated testing systems

  • Experience with hands-on hardware prototyping and debugging tools (e.g. oscilloscopes, network analyzers, logic analyzers, etc.)

  • Experience with cross-platform development toolchains

  • Experience with network protocols (TCP/IP, HTTP, MQTT, etc.)

  • Experience with I2C, SPI, UART, SDIO communication protocols

  • Experience with high level and/or scripting languages (e.g. Python, MATLAB, etc.)

  • Ability to work both independently, and in tandem with small, multi-disciplinary teams


We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.


Back to top