Software Engineer, Factory Platform
About This Role
The problem
A steel fabrication order arrives as a CAD file. Somewhere between that file and a finished part on a truck, there are hundreds of decisions: how to nest it, how to sequence the cuts, which cell runs it, what the robot does when the fit-up is 2mm off, what happens to the other 40 orders in flight when a machine faults at 3am.
Today that coordination lives in people's heads and on whiteboards. We're building the software that makes it run without them. From CAD to finished part, lights out.
The hard part isn't the web app. It's that the system has to be correct while talking to machines that have their own state, their own timing, and their own ways of failing. A network partition doesn't stop a robot mid-weld. A process that dies has to come back knowing exactly what physical state the factory was left in. Most distributed systems problems get easier when you can retry. Ours don't.
What you'd own
You're an early engineer on the software team, which means you own systems, not tickets. The execution layer that coordinates the automation. The interfaces operators use on the floor. The portals customers use to place and track orders. Backend, frontend, and the adapter layer down to the machines.
You write it, you deploy it, and when something goes wrong you walk out to the floor and debug it in front of the machine that's doing it.
How we build
We treat AI-assisted development as an engineering discipline, not a plugin. The people we want have built their own harnesses, subagents, and evals, and can point at a measurable difference in what they ship because of it. If your answer to "how do you use AI" is that you have autocomplete turned on, this isn't the right fit. If you've spent real time building tooling around models because the off-the-shelf workflow wasn't good enough, we want to talk.
What we're looking for
- 5+ years shipping production software you owned from design through 3am debugging. Fewer years is fine if the work is exceptional.
- Real distributed systems experience. Go or Python on the backend, TypeScript on the frontend, and the judgment to know when a problem needs a queue, a state machine, or neither.
- Fluency with SQL and data modeling, object stores, caches, and message buses (Kafka, MQTT, Redis)
- You've built things that survive failure: durable execution, idempotency, retries, state machines that come back correct after a restart or a partition
- Comfort with ambiguity. There's no backlog waiting for you. You'll figure out what to build.
Things that would make you unusually good at this
You don't need these. Any one of them means you've already hit the walls this job is made of.
- You've built MES, ERP, PLM, CAD/CAM, or shop-floor systems, and you know why BOMs, routings, and traceability are genuinely hard rather than CRUD
- You've worked 3D geometry in code: STEP, IGES, DXF, B-reps, CAD kernels, feature recognition, nesting, toolpath generation
- You've driven real equipment over OPC UA, EtherNet/IP, or a vendor's proprietary API, and written the adapter between a clean service and a machine that doesn't care about your abstractions
- You've written firmware, or worked on robot controllers, PLCs, or motion control
- You've done machine vision: inspection, structured light, profilometry, calibration, measurement uncertainty, inference at the edge
- You've ingested and queried high-rate sensor data at scale
- You're comfortable in Linux, VLANs, firewall rules, and routing, because the factory network is your problem too
- You've used Bazel or Buck2 with remote caching and execution
Why this is worth leaving a good job for
Most software careers are spent moving data between databases so someone can look at it. Here your code closes a loop with physical reality. You'll write a service, and a 400-pound robot will do something different because of it. You'll be wrong sometimes, and the factory will tell you immediately and unambiguously. That feedback loop is rare and it makes you better.
You're early enough to set the stack, the patterns, and the standards. The people who come after you will work inside decisions you made. As we bring up more lines and more factories, the systems you build get replicated rather than rewritten.
Compensation & Benefits
- Competitive salary plus significant early-stage equity
- Unlimited PTO and paid parental leave
- 100% of your medical, dental, and vision premiums covered, 80% for your family
Benefits & Perks
Health, 401k Match, PTO, Equity