Senior Software Engineer (Onsite - SF)

at Seam — API for IoT Devices

San FranciscoFull-time3+ years$130K - $200KYC-S20

What the role involves

We are looking for software engineers, preferably proficient in TypeScript. We prefer people who are comfortable in a full-stack role and have superhero strengths in building scalable backends. We play with a lot of hardware and spend a lot of time thinking about developer UX. We like written communications. We prefer to keep things simple and don't overthink first implementations. You should generally be curious, comfortable with the unknown, love experimentation, and be able to move fast.

Below is a quick description of some of our projects.

Backend API

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 task involves integrating dozens of different IoT brands and their protocols (Z-Wave, Zigbee, BACnet, OEM API...etc) and neatly organizing them amongst common functionality. We spend a lot of time building this part of our stack.

Client Libraries & APIs

Our customers tend to be quite technical and some of them even contribute code to our SDKs. In general, we spend a lot of time creating tools and client libraries to make interfacing their applications with devices easier. We strive to standardize device functions across brands and hide all the nasty complexity away. For example, below is an example from our TypeScript library:

import Seam from "seamapi";

// Seam will automatically use the SEAM_API_KEY environment variable if you

// don't provide an apiKey to `new Seam()`

const seam = new Seam();

const { devices: [someLock] } = await seam.locks.list();

// If the lock is opened, lock it, else unlock it. Code works irrespective of the brand.

if (someLock.properties.locked) {

await seam.locks.unlockDoor(someLock.device_id);

} else {

await seam.locks.lockDoor(someLock.device_id);

}

You can read more about how we strive to standardize device functions across brands here. Alternatively, you can also play with our client libraries below:

Javascript/TypeScript → npm install seamapi

Python → pip install seamapi

Ruby → gem install seamapi

Qualifications

  • 4+ years of full-stack development experience with expertise in TypeScript.
  • Strong in SQL, particularly with PostgreSQL, including schema design, query optimization, and performance tuning.
  • Familiarity with SRE principles, including incident management, monitoring, and system reliability.
  • Experience in designing and maintaining scalable backend APIs and client libraries, with a focus on performance, reliability, and developer experience.
  • You maintain a healthy balance between perfectionism and actually getting stuff done

Preferred Qualifications

  • Prior experience working with both high growth stage private start ups and larger scale companies.
  • Previous experience or interest in IoT, hardware integration, or related fields is a bonus.

What they ask for

JavaScriptNode.jsPostgreSQLReactTypeScriptInternet of Things (IoT)

About Seam

Seam lets developers connect and control 3rd-party connected devices like door locks, thermostats, and more.

Full Seam profile

Other roles at Seam

Similar Engineering, Full stack elsewhere

jobo is a browser extension. Open this on a computer to install it.