把开源项目做成付费产品,靠的不是代码量,而是把用户的真实痛点接住——这条路径对想从执行岗转向产品岗的求职者,比任何简历包装都更有说服力。
少数派上一位独立开发者复盘了自己把 Mac 清理命令行工具 Mole 做成付费桌面版的经历:开源不到一年收到大量 star,几十位全球开发者提交过代码,解决掉近八百个功能建议和 Bug。真正让他决定做桌面版的,是国外用户反复来信说父母、妹妹也在用 Mac,但不会开终端。这个信号很朴素:需求不是他想象出来的,是用户自己找上门的。
很多求职者在「技术岗」和「产品岗」之间摇摆,觉得转产品就要放弃技术积累。这个案例给出的答案是反过来的:技术积累恰恰是产品判断力的来源。作者拖了很久才做桌面版,理由是命令行版本还没到成熟的地步,等跑了大半年,哪些能删、删到什么程度算安全心里有底了,才敢动手。
换句话说,他先在一个窄场景里把问题吃透,再谈产品化。对求职者的启示是:与其在简历上写「熟悉产品全流程」,不如拿出一个自己从零做到有人用的东西,哪怕很小。面试官追问细节时,你能讲清楚为什么这个功能先做、那个需求先拒,这比背方法论有用得多。
原文里最有信息量的部分,是作者如何处理清理边界。他把扫到的东西分成三档:可再生(缓存、编译产物、日志)、重建代价高(包管理器缓存、本地模型权重)、不可替代(聊天记录、邮件库、照片图库)。第三档坚决不放进一键清理。
这个分类方法本身就是一种产品思维训练。求职者可以借用:面对任何需求,先问它属于哪一档——删了能立刻恢复的、恢复要花成本的、删了就回不来的。能这样拆问题的人,在面试里讲项目复盘时,会比只会说「我负责了某模块」的人更有层次。
作者还提到一个踩坑:某个名字带 Caches、位置也在缓存目录下的路径,其实是苹果神经引擎编译好的模型,早期被当缓存清掉,导致用户那边用到识别功能的 App 全挂。此后他养成习惯,看到带 cache 的目录先问三个问题:谁写的、重启后谁会读它、删错了怎么找回来。这种「先确认归属再动手」的谨慎,放到职场里就是需求变更前的风险评估能力。
原文里有个细节值得求职者注意:一位美国用户指出美区默认华氏温度不合适,技术场景下美国人其实用摄氏度;还直言他的定价数字「读起来像从别的货币换算过来的」。作者承认价格是拍脑袋定的,做产品之前没认真想过定价。
这说明产品能力里有一大块是非技术的:定价、本地化、无障碍、客服话术。作者坚持手工回邮件,理由是只有一封封处理过,才能感觉到用户为什么退款、哪里让他不舒服。他把自动化的门槛定得很清楚:问题反复出现、答案已经稳定、例外也摸清楚了,才值得上系统。
对求职者来说,这段可以直接迁移到面试表达:不要急着说自己「搭建了自动化流程」,而要说清楚在什么条件下你判断该自动化、之前手工阶段你观察到了什么。后者才是判断力。
想看同类独立开发者和产品岗位的实时变化,可在求职者营地(qzzyd.com)按城市和行业订阅在招岗位,把「做过什么」和「市场要什么」对上。
这条路径不适合所有人,但它提醒求职者一件事:产品能力不是岗位给的,是你在解决自己痛点、接住别人反馈的过程中长出来的。代码能力大概只占三成,剩下七成是怎么把痛点和用户的痛点接上——这句话放在求职语境里,同样成立。