For automation integrators, machine builders and robotics companies给自动化集成商、设备厂与机器人公司
You win the work. I do the software. Your client never has to know I exist. 你接单。我做软件。你的客户永远不必知道我存在。
Most small integrators have the same shape of problem: you can wire a panel, program the PLC and commission a line, and then a job needs an operator interface, a device driver, or data pushed somewhere upstream — and there's no software person. Hiring one for that is absurd. Turning the job down is worse. I'm the third option. 多数小型集成商的问题是同一个形状:你能配柜、能编 PLC、能调线,然后一单活儿需要一个操作界面、一个设备驱动,或者把数据推到上层系统——而你手上没有软件的人。为这个招一个人很荒谬,把活推掉更糟。我是第三个选项。
White-label, and I mean it白牌,而且是认真的
I don't want your customer. I'll work under your name, in your repo, with your branding on the screens. I'll join a call as your engineer if that's easier, and I'll stay off it entirely if that's easier. I won't contact your client, before, during or after. If you'd rather that be a contract term than a promise on a web page, send me yours and I'll sign it — that's the correct instinct and I won't be offended by it. 我不想要你的客户。我可以用你的名义、在你的仓里、用你的品牌做界面。需要的话我以你团队工程师的身份出现在会议里;更方便的话我完全不出现。我不会联系你的客户——事前、事中、事后都不会。如果你觉得这该是一条合同条款而不是网页上的一句承诺,把你的模板发我,我签——那是对的直觉,我不会因此不高兴。
What I take off your plate我能从你手上接走什么
- Operator interfaces. Touch panels and desktop HMIs a floor operator can actually run. One interface configured per machine model, rather than one per machine. 操作员界面。车间工人真的能用的触摸屏与桌面 HMI。一套按机型配置的界面,而不是一台一套。
- Getting the device to talk. Modbus, OPC UA, MQTT, serial, vendor SDKs — including the equipment whose documentation is a printed booklet and a phone number. 让设备开口说话。Modbus、OPC UA、MQTT、串口、厂商 SDK——包括那些"文档是一本纸质小册子外加一个电话号码"的设备。
- Upstream connectivity, as your selling point. When your client asks whether the line's data can reach their ERP or MES, you can say yes. I've built the systems on that side too — bills of materials, work orders, batches — so the answer isn't a maybe you have to go source. 上层连通,而且算你的卖点。当你的客户问产线数据能不能进他们的 ERP 或 MES,你可以直接说能。那一侧的系统我也做过——BOM、工单、批次——所以这个"能"不是一个你还得去外面找人的"也许"。
- Software that already exists and doesn't work. Including the increasingly common case where a prototype was generated by AI, demos beautifully, and cannot be deployed or extended by anyone. 已经存在、但跑不起来的软件。包括越来越常见的那一类:原型是 AI 生成的,演示很漂亮,却没有任何人能部署或扩展它。
The thing that makes remote work: I build against a fake machine让"远程"成立的那件事:我对着一台假机器开发
The usual objection to a remote software person is real — I can't put my hands on your equipment. So I don't pretend otherwise. I build a simulator of the device first: same command and telemetry contract, with fault modes I can inject on purpose. The interface and the logic get finished, exercised and tested against that, long before the real machine is on the floor. When it arrives, the work left is wiring and calibration, not discovery. "远程软件人"通常会遇到的那个反对意见是成立的——我碰不到你的设备。所以我不假装能。我先做一台设备的模拟器:同样的指令与遥测契约,外加我可以主动注入的故障模式。界面和逻辑对着它完成、跑通、测过,而这一切远早于真机进场。真机到了,剩下的是接线和标定,不是摸索。
This is also why my timelines don't depend on your shipping schedule. Software finishing before hardware is the normal case here, not the lucky one. There's a public example of the pattern you can run in about a second. 这也是为什么我的工期不依赖你的出货排期。在我这里,"软件比硬件先完成"是常态,不是运气好。这个模式有一个公开的例子,你大约一秒就能跑起来。
Where my layer ends我这一层到哪为止
Software I deliver does not implement safety interlocks. E-stop, guard doors and light curtains belong in a safety relay or a rated safety controller — hardware that keeps working when my code is wrong. I build the layer above that, gate it hard, and write the boundary into the contract. You already know this; I'm saying it so you know that I know it. 我交付的软件不实现安全联锁。急停、安全门、光幕属于安全继电器或有安全等级认证的控制器——那是我的代码出错时仍然有效的硬件。我做它上面那一层,把闸门做硬,并把这条边界写进合同。这些你本来就知道;我说出来,是为了让你知道我也知道。
How a first job usually goes第一单通常怎么走
- You send me the messy version. The client's email, the device manual, a photo of the panel. I don't need a specification; if you had one you probably wouldn't need me.你把乱的那版发我。客户的邮件、设备手册、一张电柜的照片。我不需要需求文档;你要是有,大概也就不需要我了。
- Within a day you get a straight read. Doable or not, what I'd worry about, and roughly what it takes. If it's still genuinely uncertain, that's what the three-day sprint is for. If you already know the scope, I'll quote it fixed-price for free.一天内你会拿到一个直接的判断。能做还是不能,我担心什么,大概要多少。如果确实还不确定,那正是三天 sprint 的用途。如果范围你已经清楚,我免费给你固定价报价。
- Fixed scope, milestones, something running early. You see working software in the first milestone, not the last. Every delivery comes with documentation and a handover, because you are the one who has to support it afterwards.固定范围、里程碑、早早就有能跑的东西。你在第一个里程碑就看到能运行的软件,不是最后一个。每次交付都带文档和交接,因为之后要支持它的人是你。
- The code is yours. Full source, no lock-in, no dependency on me. I keep the rights to my own pre-existing framework pieces and you get a perpetual licence to them — I'll put that in writing rather than leave it vague.代码是你的。完整源码、零锁定、不依赖我。我保留我自有的既存框架部分的权利,并给你一份永久授权——我会把这条写清楚,而不是含糊过去。
The awkward questions, answered first尴尬问题,我先答
| You're thinking你在想 | Straight answer直接回答 |
|---|---|
| "Where are you?""你人在哪?" | Shenzhen, China. In practice that means I'm working while you sleep and I'm at my desk when your morning questions arrive. Payment runs through Payoneer with a proper invoice and a W-8BEN, and if your procurement needs a corporate entity to contract with, I can arrange that before we sign.中国深圳。实际效果是:你睡觉时我在干活,你早上带着问题来时我还在桌前。收款走 Payoneer,有正规发票和 W-8BEN;如果你的采购要求和公司实体签约,我可以在签约前安排好。 |
| "Where are you?""你人在哪?" | Shenzhen, China. In practice that means I'm working while you sleep and I'm at my desk when your morning questions arrive.中国深圳。实际效果是:你睡觉时我在干活,你早上带着问题来时我还在桌前。 |
| "Will you go around me?""你会绕过我吗?" | No, and I'll sign a non-solicit saying so. Your client relationships are the only asset you have that I couldn't replace even if I wanted to — and repeat work from you is worth far more to me than one job from them.不会,而且我可以签一份禁止招揽条款。你的客户关系是你唯一一样"就算我想要也替代不了"的资产——而且你的回头单对我的价值,远高于从他们那里接一单。 |
| "What if you disappear?""你要是消失了怎么办?" | Fair question, and "I won't" is what everyone says. So: work lands in your repository from week one, milestones are small enough that you're never more than a couple of weeks from a working state, and the handover document is written as we go, not at the end.合理的问题,而且"我不会"是每个人都会说的话。所以:代码从第一周起就落在你的仓库里;里程碑切得足够小,你任何时候离"一个可用状态"都不超过一两周;交接文档是一路写的,不是最后补的。 |
| "Can you talk to my customer's engineer?""你能和我客户的工程师对话吗?" | Yes, in writing, and I'm better at that than at small talk. I've sat on the internal-systems side of a robot manufacturer for two and a half years, so I know what a production manager means when they describe a problem badly.可以,书面沟通,而且我在这方面比在寒暄上强。我在一家机器人厂商的内部系统那一侧待过两年半,所以当生产经理把一个问题描述得很糟时,我知道他在说什么。 |
Why you can check any of this为什么这些你都能核实
A signed letter from the CTO of the AMR manufacturer where I held every internal system is published here in full, with his name and title and his own offer to verify. Nineteen public repositories run on your laptop without credentials. And there's a note explaining how to check work you can't see — take that checklist to anything I deliver. 我曾扛下其全部内部系统的那家 AMR 厂商,CTO 签署的推荐信完整发布在这里,有他的名字、职务,以及他自己写的可直接联系核实。十九个公开仓库无需凭据就能在你的笔记本上跑。另有一篇讲怎么检验你看不见的工作——那份清单,请拿去对我交付的任何东西用。
Need to show this to a partner or a colleague? There's a one-page PDF built for forwarding.需要把这个给合伙人或同事看?有一份一页 PDF,专门为转发做的。
Got a job you'd take if the software side were covered? Send me the client's email and the device manual — I'll tell you within a day whether I can carry it. Start here →手上有一单"只要软件这块有人接就能做"的活?把客户的邮件和设备手册发我——我一天内告诉你我能不能扛。从这里开始 →