Backend Software Engineer
$150k - $250k • 0.25% - 1.00%
API for the Physical World
What We Do
Seam builds an API for all the IoT devices around us. A mix of Plaid/Stripe, Seam lets software developers connect and control WiFi locks, thermostats, elevators, EV chargers, and more.
Who We Are
Our team were early engineers at Nest, Github, Sonder, Square...etc. We shipped millions of IoT devices and built dev tools used by every developer on earth.
We are advised by the amazing Bunnie Huang and backed by YC and some of the best hard-tech investors.
Why an API for IoT
Turns out, a lot of software needs to interact with the physical world. This is hard. There are a lot of devices out there and many different auth strategies.
We create a standardization layer that makes device integration easy.
As a result, Airbnb can automate access to homes (door locks), energy utilities can adjust electric-load in real-time (thermostats), or companies can even count people in their building (sensors)
We seek "exceptionally sharp minds with kind souls." We like folks that can move up and down a very deep stack that goes all the way down to firmware. We don't care about credentials and prefer to poke around your Github to better understand what you've worked on. Obviously, if you've worked on technical products before (API, dev tools...etc) even better, but it's not a hard requirement.
Above all, you should enjoy learning new things, tackling hard technical problem, and be a good human being.
Senior Software Engineer
We are looking for a senior software engineer, preferably proficient in Python and Typescript/Node. This role will involve a number of projects up and down our stack, which we list below.
Our high-level goal is to build a device/manufacturer agnostic integration layer that connects to various devices and exposes their functionality through a simple API. This tasks involves integrating underlying protocols (z-wave, zigbee, bacnet, third-party API...etc) and neatly organizing them amongst common functionality. To solve this, we like to think in abstraction layers and lean heavily on the W3C WoT Things Description abstractions. You can also check out our API docs to get a sense.
Client Libraries & External Documentation
We think a lot about how to improve developer experience. To that end, we enjoy crafting client libraries and other utilities that simplify gaining access to devices as well as controlling them without concern for the underlying complexity. We maintain a corpus of external documentation and enjoy keeping it up to date with each changes we make. We are very grateful for the feedback we also receive via this documentation.
This is the drop-in UX flow that developers can add to their application. It allows them to request from their users access to their devices (e.g. thermostats). For example, Airbnb can ask their host for access to their smart locks and thermostats. This then enables Airbnb to automate guest access and save energy while the unit is unoccupied.
Our hardware hub is a "pro" solution that some of our customers use to connect devices to the Seam platform. Many battery powered devices such as door-lock do not connect directly to wi-fi and must instead be bridged. The Seam hub does this. It supports a number of low-power protocols (Z-Wave, Zigbee, Bluetooth...etc), and securely bridges devices to our cloud infra. The Seam hub runs a primary multi-protocol application ("C-3PO"), which itself runs on top of our own custom OS ("Bantha OS").
As an infrastructure company, we pay close attention to the reliability of our solution. At the same time, we don't want to be burdened by overly zealous manual verification. We thus invest heavily in end-to-end testing that reproduces customer workflows and touches all aspects of our stack. Given the interfacing with real physical device, this is non-trivial to do.
Who We're Looking For
We seek individuals comfortable with these paradigms and who can move up and down our deep stack with ease.
Frontend: react/node + react-native
Backend: Node/Typescript on AWS, some Python
Gateway/Hub: Python / Typescript
Firmware/OS: Custom Yocto Linux Distro + various drivers in C & an entire OTA layer