
Job Description
What to Expect
Dawn Industries builds software that watches industrial robot cells (PLC, robot, gripper, sensors), diagnoses faults with evidence an engineer can verify, and applies a fix only when a human approves it. You will own the live data plane: the part of the product that holds a standing connection to running industrial controllers, reads from them safely, and serves that data to everything downstream. What you build will eventually run inside customers' plants, attached to machines we do not own and must never disturb.
We develop against real hardware in our own lab.
APPLICATION NOTE: No PLC, robotics, or manufacturing experience is required. Learning to read industrial programs deeply is part of the job.
What You'll Do
- Protocol Engineering: Implement and harden clients for native industrial protocols (S7comm/ISO-on-TCP, Modbus RTU/TCP, EtherNet/IP/CIP, PROFINET, OPC UA, MELSEC/SLMP), from the spec where one exists and from packet captures where one does not.
- Surface Characterization: Empirically map what each controller family actually exposes: addressing modes, per-request cost, throughput ceilings, undocumented limits, and how it fails. Publish the numbers and design against them.
- Acquisition Scheduling: Build read planners and schedulers that extract the most information per round-trip within measured device budgets, so monitoring never degrades a running machine.
- Read-Only Guarantees: Enforce at the protocol layer that the acquisition path cannot mutate a controller, and make that guarantee provable, tested, and auditable.
What You'll Bring
- Degree in Computer Science, Computer Engineering, or equivalent practical experience.
- 1+ years of systems software engineering, or a portfolio that proves the same depth.
- Expert-level C or Python, including comfort at the byte level: struct layouts, endianness, checksums, framing.
- Strong socket-level network programming: protocol state machines, timeouts, reconnection, backpressure.
- Proven protocol reverse-engineering you can walk us through: something you decoded from packet captures.
- Not required: PLC, robotics, or manufacturing experience. Learning to read industrial programs deeply is part of the job.
Nice to Have
- You have built or maintained a feed handler or gateway against a venue's native binary protocol, where latency is measured and a malformed message is unacceptable.
- You have written a protocol dissector, or landed a patch in one.
- You have made an undocumented device speak: a smart-home gadget, a vehicle bus, lab equipment, a radio signal.
- You have written or debugged a device driver.
- Exposure to OT networks or ICS/SCADA from any side, including security research.
- Serial fieldbus experience (RS-485, Modbus RTU) or other electrical transports.
Optimize Your Resume for This Job
Get a match score and see exactly which keywords you're missing
Job Details
- Category
- Software
- Employment Type
- Full Time
- Location
- San Francisco, CA
- Posted
- Compensation
- $120,000 - $180,000 per year
About Dawn Industries
VIM connects to the entire cell: PLCs, robots, CNC machines, sensors. When a cell faults, VIM finds the cause, stages the fix, and the operator approves with one click. When a part drifts, VIM catches it seconds after the cut, inside the machine, and recommends the correction. Recovery drops from 30 minutes to under two, saving more than $15,000 per fault in large factories.
More Roles at Dawn Industries
Similar Software Roles



Found this role interesting?