我的故事

我大学读的是机械设计制造及其自动化。最早写代码,是因为游戏里有些任务实在太重复。我摸索着写 Lua 脚本,让程序替我做。说起来,这不是什么严肃的职业规划,我只是想少刷几遍任务。

毕业前,我在一家汽车零部件公司实习了三个月,每天做各种材料的强度和拉伸测试。工作里也有大量重复的步骤,但那时我看不到让它们变简单的办法,于是在转正前离开了。

我一直在想,接下来该做什么。那时我靠脚本刷出来的游戏账号和装备还挺受欢迎,赚到了第一桶金。我想,既然这么喜欢折腾这些东西,不如去学编程。

我集中自学了大约一个月,接着边学边找工作。非科班、没经验,简历大多石沉大海,我的办法是海投:先让公司筛我,再和愿意聊的公司详谈。有一次,我甚至直接走进一家没有招聘的软件公司。老板还是面试了我,最后说:“我很欣赏你的勇气,但我们需要一个有经验的人。”

后来杭州的一家创业公司给了我机会。我成了公司的第一个程序员,边学边做,把第一个产品送上线。它能让用户划词,查看翻译和解释。现在看只是个小功能,当时光是处理划词取词,就让我对着正则表达式折腾了很久。我至今很感谢那位愿意相信我的老板。

杭州给我的感觉很年轻,也很“卷”。那时移动互联网正热,身边的人都在忙着往前走。我自己也焦虑:虽然自学时感觉进步很快,心里还是不踏实,总觉得离成熟的开发者差得很远。所以我去了大华,想看看成熟团队是怎么协作的。

在那里,我做的通用组件会被很多部门复用。一个功能在自己手里能跑,不代表每个部门都能用得顺;不同场景对性能和易用性的要求也不一样。这段经历确实让我学到了东西。但在我所在的工作环境里,没必要的加班、冗长的会议和推卸责任的事也不少。我不喜欢那种氛围,后来选择了离开。

我搬到苏州,在西门子工作。苏州的生活节奏比杭州慢一些,我也很享受工作和生活比较平衡的状态。那段时间经历了疫情。后来,我拿着 Working Holiday Visa 来到新西兰。这里的风景和遇到的人让我喜欢上了这个地方,也让我很快决定留下来。

那时我感觉找工作的机会不少,英语却是实实在在的难题。电话里有些话我听得勉勉强强,又不好意思请对方一遍遍重复,只能说“OK,OK”。最尴尬的一次,我还没弄明白谈到了哪一步,第二天就收到了公司的内部欢迎邮件。我只好硬着头皮去解释,谢绝那个机会。

最后我选择了 Nextspace。数字孪生的 3D 场景让我觉得有点像在做游戏,又和之前接触的工业系统有联系;全远程的工作方式也很吸引我。找到这份工作后,我通过 Straight to Residence Visa 直接拿到了新西兰的居民签证。回头看,我和新西兰还真挺有缘分。

我刚加入时做前后端的软件工程,重心更偏前端。做了一段时间,我觉得 AI 和数字孪生结合会很有意思,就自己提了一个 proposal。这个想法后来真的做了下去,我也因此开始深入 Agent 开发。

数字孪生里的数据又多又杂。比如,用户想找出某个城市、某段建造时期内排放量超过阈值的建筑,原本要自己组合搜索条件,再到 3D 场景中高亮结果,可能还要整理报告。我尝试让 Agent 通过 MCP 调用搜索、场景和报表工具,让用户直接说出自己想找什么。我认为这也有商业价值:当数据更容易被查找和使用,用户可能更愿意把数据接入系统、持续使用它;这与产品按数据和实体规模计量的模式是契合的。

我也一直对区块链、数字货币和投资感兴趣,接触过 Web3,投资过比特币。我会写脚本监听和整理新闻,按自己设定的规则自动做数字货币交易。更准确地说,是投机。正因为自己做过这些判断,我想更系统地理解金融和风险,而不只是凭感觉,所以在 Nextspace 工作期间读了林肯大学的 FinTech and Investment Management 硕士。

后来机缘巧合,我也开始在 Dynamic Payment 做 Agent 集成顾问。工作期间读书,以及后来同时兼顾两份工作,AI 都帮了我很多。现在从工作到购物、记账、安排日程,甚至处理一些社交沟通,我都会让 AI 助手分担繁琐的部分。读 FinTech 硕士时,我上课先抓大意,很多知识则是在课后与 AI 不断梳理、提问和讨论,才慢慢弄明白的。

我知道有些软件工程师对 AI 保持警惕,我自己的感受更多是感谢。我也不觉得软件工程师会因此变得不再需要。我的判断是,做软件的门槛降低后,会有更多小团队开始做产品,也会有更多工程问题需要解决。AI 已经能很快把一个想法做到九十分,有时甚至做到最初要求的一百分。但产品交到用户手里以后,还要可靠、好用,能处理没人提前写清楚的情况,甚至比最初设想的更好。要做到那里,仍然需要能理解业务、做出取舍的优秀工程师。