瞎扯淡 消失 14 年后回 Ruby China 报到

soloara · August 05, 2026 · 52 hits

先报个到

以前我是笑话别人看颈椎病康复指南的那个人。

现在轮到我该看颈椎病康复指南了。这么多年就是这么过去的。

我这个号 15 年了,大概有 14 年没发过一个字。

说起来,我算是从 Ruby China 出去的人。 我最早那点 Rails 的手艺、对写代码这件事的品味、甚至后来敢出国去赌一个方向的底气,很大一部分是在这个论坛里泡出来的。那会儿我在这儿 ,大家还在折腾,也许还有些老人应该还记得我 —— 如果你们还在的话。

然后我就没声了。不是看不上这儿,是人被生活推着走,一走就是十几年。

今天回来,一是报到,二是来求教:文末有三个我到现在都没想明白的问题。

先说句感谢

要谢三个:Ruby、Rails,还有 DHH。

Ruby 让我知道写代码可以是件愉快的事。Matz 把"程序员的幸福"写进语言的设计目标,我当年不觉得多了不起,后来在"加个字段要改五个文件"的项目里泡过,才明白那有多稀有。

Rails 更实在:我的第一桶金是用 Ruby 赚的。 一个在澳洲找不到 AI 工作的硕士靠它吃了十几年饭,这话我不绕弯子。它还教了我什么叫品味:约定优于配置、一个人也能端到端交付、别为想象中的规模提前把系统搞复杂。

DHH 要谢的不是框架,是他证明了:不融资、不追风口,照样能把东西做好、把日子过好。十几年前读《Rework》我当它是凡尔赛,这半年自己出来做独立开发,才发现那是我唯一能拿来当地图的东西。我今天走的这条路,精神源头是 DHH,只是隔了十五年才走上来。

那些年我们吵过的架

先怀个旧,这几段写给还在的老人。

Ruby 对 Java。 那会儿看 Java 就一个感觉:太啰嗦 —— 一层层工厂、一堆 XML、写个功能开五个文件。我们这边"15 分钟做个博客"的视频到处传,scaffold 一敲什么都有。而他们回头看我们:连类型都不写的玩具语言,性能烂、招不到人。后来 Twitter 把后端迁走,双方各拿走一半胜利。

Rails 对 Django 对 PHP。 Django 拿 admin 压我们;PHP 的人根本不参加这个讨论 —— 他们一把梭已经上线三个站,主机五块钱一个月,FTP 拖上去就跑。我们笑他们代码难看,他们笑我们部署要折腾一个周末 (passenger 还是 unicorn、Capistrano 怎么配)—— 这条他们是对的。

还有中文社区独有的苦。 gem 源被墙互传镜像;bundle install 卡住去泡个面回来还在卡;新人问"公司不让用 Ruby 怎么办",下面一堆人真诚地帮他想怎么说服老板。

那时候我们真心相信:选对语言、选对框架,就选对了下一个十年。

然后大家都开始用 AI 写东西了

现在打开首页,吵的东西全变了:哪个模型好、什么 harness、prompt 怎么写、agent 怎么搭。上面那些争论突然显得像上个地质年代的事。

而更扎心的是那个念头:我们当年学的那些东西,好像大部分都没意义了。 这个念头折磨了我很久,直到最近才想明白它错在哪 —— 文末再说,先把丧的部分说完。

那些语法糖、那些框架细节、那些为了性能调过的 N+1、那些背下来的最佳实践 —— 现在一个模型几秒钟就能给你一份比你写得更规范的实现。当年吵得最凶的那些东西,现在成了模型的免费赠品。

这个感受我这几年是从最难受的角度体会到的。先交代一下我这十年干什么去了 —— 每个人的路不一样,我只说我自己这条,你们看看有没有眼熟的地方。

我这十年

2015 年我出国了,去澳大利亚,读 AI 方向的研究生。

现在说"学 AI"很顺理成章,2015 年不是。那时候 AlphaGo 还没赢李世石,国内招聘网站上搜"机器学习"出来的岗位一只手数得过来。我也说不上有多大远见,就是觉得这方向有意思,值得赌一把。

结果我学了 AI,然后写了很多年 Rails。

赌输了——至少当时看是输了。毕业后我撞上一个残酷的事实:澳洲几乎没有 AI 的工作机会。这里的科技行业主体是给银行、政府、本地企业做系统,要的是能干活的 web 工程师,不是会推公式的研究生。于是一个 AI 硕士,找到的工作是在本地公司写 Ruby on Rails。

一写就是很多年。

Rails 是个好框架,我对它没有怨言,这话在这儿说不算客套。但你们能想象那种感觉:花两年学的东西在简历上只是一行装饰,每天的活是 CRUD、表单、报表。

而这几年真正让我不安的不是 Rails 边缘化 —— 是我发现 LLM 最擅长的事情之一,恰恰就是写我赖以为生的那种代码:CRUD、胶水逻辑、标准 web 业务。

我在澳洲四大行之一,IT 部门一轮接一轮裁人,我最好的朋友在另一家,这一轮我是从两边同时看着的:每天上班像在等宣判,不知道这一批会不会念到自己的名字。按过去那套逻辑,我这种履历在澳洲是最安全的一档 —— 银行永远需要人来维护系统。现在我眼睁睁看着自己的核心技能从"谋生手段"变成"模型的免费赠品"。

说白了:Rails 从主流走到边缘,我这种履历从"最安全的一档"走到被 AI 惦记 —— 这两件事我都赶上了。 半年前我离职,出来做独立开发。

顺便说一句我自己的教训,这个可能比技术更值得警惕:那些年安稳的牛马生活磨掉的不是技术,是产品思维和"把自己说出去"的能力。 需求有人定、优先级有人排,你只管把票关掉。等我意识到的时候,我已经忘了怎么思考一个产品,更忘了怎么营销自己。这笔债在我转型的每一个环节都伸出腿来绊我一下。

白天 AI 在淘汰我,晚上我用 AI 去淘汰别人

但同一时间,私活那边发生了另一件事:接连几个 LLM 的单子找上来 —— AI 智能客服、AI 辅助英语学习、房地产广告的 AI 自动推送。最复杂的一单来自纽约,给一家头部财经媒体做股票资产组合的 AI 推荐。那种钱和责任都实打实的场景,模型"大概齐对"是不够的,整条链路必须可控、可审、可回溯。

于是就有了那句拧巴的现实:白天,AI 在淘汰我;晚上,我用 AI 去淘汰别人。

也正是这些私活,让我意外成了比较早一批真正上手 LLM 应用开发的人 —— 不是玩 demo,是给真实业务搭能跑的工作流。

干这些活最大的体会,说出来其实挺朴素:LLM 单次输出的质量从来不是瓶颈,瓶颈是怎么让它在一个长流程里不跑偏。 上下文怎么管、状态往哪儿沉、人在哪一步介入 —— 这些破事决定了一个 LLM 应用是玩具还是工具,和用哪个模型关系不大。

具体怎么做的我不在这儿摊开了。一是真的长,二是说实话我也不确定我那套是不是最优解 —— 我是在别人的项目上撞出来的,没跟同行对过。哪天有空我单独发一篇细的,请大家拍砖。

于是我开始做 indie

这一课最后落在了一个我没想到的地方:我自己身上。

我是网络小说的重度读者,追得多了总会撞上几个作者写的东西简直辣眼睛,追着追着就憋出一个念头:这还不如我脑子里想的有意思,不行,我自己写。然后我被打脸了 —— 一个每天写作时间以分钟计的上班族根本撑不起长篇。那些被我瞧不上的作者,至少做到了一件我做不到的事:他们能一直写下去。

于是我给自己写了个小工具,跑在终端里,让 AI 出字、我来把关,把上下文和状态那套活儿接管过去,自己边写小说边改。纯自用,没打算给别人看 —— 说白了就是个自己挠痒痒的东西,跟大家周末写的那些脚本没什么区别。

真正让它变成"产品"的,是一个 Ruby 圈的老哥。看了之后跟我说了一句:你为什么不发布出来?这个可以做成产品啊。

我当时的第一反应是"这有什么可发布的,自用的东西而已"。但这句话在我脑子里搁了很久,后来成了我下决心做 indie 的触发原因之一 —— 老实说,如果没人这么推我一把,我大概到现在还在自己电脑上偷偷用。

后来它就成了现在的 ZenWriting(https://zenwriting.ai) 。底子没变,还是终端里那个小工具,稿子和设定都是本机的 markdown,能 grep、能进 git —— 程序员写小说,大概就好这口。

有兴趣的评论区问,谁问我谁答。"AI 写长篇为什么必崩在四五万字、以及具体怎么解决",哪天单独写一篇发在这儿。

回到前面那个问题:我们当年学的东西真没意义了吗

丧完了,说点不丧的。这半年我越想越觉得,我们手上的牌比自己以为的好,只是牌面变了。三句话:

第一,程序员转产品,比产品转程序员容易得多。 我补产品课补得很狼狈,但我起码知道"这东西能不能做、大概多少代价、哪里会烂"—— 这个直觉是十几年攒的。AI 把实现成本压下来后,值钱的恰恰是"做什么、做到什么程度、什么时候停"。

第二,架构和经验短期替代不了。 模型写函数比我们快也比我们规范,但它不知道这个系统三年后会烂在哪。我在那些私活里摸出来的做法,没有一条是模型告诉我的,全是撞出来的。

第三,AI 解决不了"你不知道自己不知道什么"。 你问错了,它会流畅地给你一个错的方向,而且看上去无懈可击。当年吵 Ruby 还是 Java,留下的从来不是语法,是品味和判断力 —— 就是模型给出一个漂亮方案时,你能停下来说"等等,这里不对"的那个东西。

所以:旧地图作废了,判断力没作废,而且比以前更值钱 —— 因为现在满地都是流畅、自信、看着就对的错误答案。

三个问题,向社区里做 indie 的前辈取经

这半年下来的体会是:前途是光明的,道路是崎岖的,而且崎岖的地方一个都不在我以为的位置上。想象中的困难是技术,实际上那是最不成问题的部分 —— 真正难的全在产品和推广上。这个社区受 DHH 影响这么深,我不信里面没有藏着一批已经做出来的 indie。所以这三个问题,是交学费来的:

1. 你们的产品是怎么被"发现"的? 我的是自己挠痒痒挠出来的,还是别人推了一把才发布 —— "解决自己的问题"这条路听起来正统,但我的样本量只有 1,而且我到现在也说不清:如果没那个老哥那句话,它是不是就该烂在我硬盘里?你们当初是怎么撞见自己的产品的?又是怎么判断"这个值得做下去",而不是又一个周末玩具?

2. 推广这关,工程师到底怎么过? 我可以面不改色在 code review 里捍卫方案,但要我公开说"我做了个东西,你来看看",会本能地浑身不自在;于是每天的时间总是滑回写代码 —— 那里永远有进度条,而推广往往石沉大海。发帖介绍怕被当软文,不发就没人知道你存在 (对,你没看错,这个帖子本身就是我的一次尝试,有没有踩线欢迎直接骂)。做成过的老哥,你们的第一批用户到底是从哪儿来的?哪些渠道回头看是浪费时间?

3. 咱们社区的 indie,天花板到过哪儿? 这个纯粹是好奇加校准预期:论坛里做得比较大的独立产品,做到过什么量级 —— 能养活自己?能超过打工?做到那一步花了多久,回头看最关键的一步是什么?我需要知道这条路往上走到底长什么样,而不是只看海外 indie hacker 的传说。

半年前我决定不再在工位上等着别人念我的名字。踏出来之后才发现,这一步只是把"等宣判"换成了"自己找路"——但至少这一次,路是我自己选的。

我是从这个社区出去的,兜了十几年一圈,现在自己找路找到不知道往哪走的时候,还是回这儿来问。来指我一下吧。


最后坦白一句:作为一个自认走在时代前沿的程序员,这篇帖子肯定以及当然不是我一个字一个字手敲的。但我敢保证它不是 AI 生成的 slop —— 是我一行一行地让 AI(Anthropic 的 Fable 5) 陪我改出来的。里面每一件事都真实发生过,每一个观点都是我自己的,AI 只负责把它们码整齐。你看,这就是我前面说的:字,从来不是瓶颈。

No Reply at the moment.
You need to Sign in before reply, if you don't have an account, please Sign up first.