
我承认我是一个无能的人。
这话我说得挺平静,没有自责的意思。功能我会写,写了这么多年。我说的无能是另一件事:我对结果的控制力其实很小。能力有边,判断经常偏,TODO 永远比手快一截。一个人做东西,我的判断就是全部判断,没有第二个人帮我拦一下。
这篇不是复盘,也没打算总结什么方法。就是想把几句话写下来。
1. 我没打算做给所有人用
独立开发有个默认剧本:找痛点、验证需求、拿用户、跑数据。这条路我知道,也承认它有道理。我只是没在走。
我做的东西不需要很多人用,也不需要谁喜欢。它首先得是我想要的:我自己会打开,用得顺手,某个细节做对了会高兴一下。这样就够了。有人用算意外,没人用是我预期里的样子。
当然不能反过来理解成随便做。喜欢的东西我更舍不得糊弄。只是及格线换了个位置:以前想的是有多少人用,现在我只问一句,我自己认不认它。
2. 觉得它成,多半只是我想要它成
深夜把落地页调顺,README 写漂亮,第一版跑起来,心里会冒出一句「这回稳了」。这句话现在一出现我就警觉。
那点稳很少来自证据。它有个特别具体的来源:我刚花了两周,所以它必须值得。
不过我不靠它赢,这里反倒有个额外的好处:我没有非要骗自己的理由。自欺的压力多半是「这次必须成」逼出来的,既然不必成,我可以老实问一句——这点把握,几条来自真实反馈,几条只是因为我想要它成。
问完通常挺尴尬。把握感最满的时候,往往也是我知道得最少的时候。连自己的判断都验不了,这也算无能的一种。
3. 别人的成功,是筛过一遍才到我眼前的
还有一种把握是从别人那里借来的。
我看到的案例都是活下来的。同样的方向、同样的努力、比我聪明的人,中途倒掉的那些不会写复盘,也没人转发。手里这份样本早被筛过一遍,我却拿它得出「这条路走得通」。
那些看起来很轻巧的成功,背面往往是好几年:早年的积累、失败掉的前几个项目、一直没断的关系和名声。我看到的是第五年的截图,前四年是空白。
所以「弯道超车」这个词我不太信。它的前提是别人在弯道减速而你敢踩油门。现实里多半不是弯道,是别人已经在直道上跑了很多年。真想抄近路的人,通常连路都还没看清。
那就只剩运气了。凭什么幸运之神只眷顾我?我确实不觉得自己一定行。这不算谦虚,就是算术,我没理由假设自己是那个例外。
好在我也不用是例外。我要的东西不在那条曲线上,别人的截图是别人的路线图,跟我今晚想改的那个细节没关系。
4. 需求是自己提给自己的,最容易通过评审
一个人做,提需求的、排优先级的、写代码的、验收的,全是我。那道评审等于没有。
清单于是越列越长:设置页、主题切换、导出格式、通知中心。每一条看着都像必需品,摸一摸就知道,它们是面子、惯性,或者「正经产品都得有」。它们不是为我加的,是为了让它看起来像个正经产品。
砍掉它们的理由挺自私:这些东西会把我真正喜欢做的那部分挤掉。一个人的时间和耐心都是定量的,花在装门面上,就没法花在让我高兴的地方。
5. 没准备好失败,就不要开始
把上面几条摊开:把握不可靠,参照的样本是筛过的,清单上一半是给面子做的。做不成的概率本来就不低,概率就是这样,谈不上运气好坏。看看硬盘里那几个停在 v0.1 的仓库就知道了。
所以开一个新项目,等于同意失败可能发生。这里说的失败不包括「没人用」,那是我预期里的。我怕的是另外几种:做到一半自己都不想打开它了;方向错到连我都不认;时间花完账单还在扣;过年被问「你那个做得怎么样」,答不上来。这些都算入场费。
如果你没准备好失败,那就不要开始一件事情。
费用没备好,一遇冷场就只能加戏:改个名重发一次,怪算法不给量,或者把功能再堆厚一点,证明自己没白干。准备好失败不是盼着输,是输了之后还能站住,还能把它归档,还能决定下一个开不开。
这道门槛拦的不是技术,也无关胜率。它只问一句:白做半年,最后连我自己都不喜欢它,这个结果我认不认。我认。那就可以动手。
6. 开始之后,不必非要赢
进了场再卡住,多数时候跟会不会做没关系。是心里默认了一条:做了就必须赢。赢是什么呢,有人转发、收入曲线抬头、终于能说一句我靠这个养活自己。这些一旦变成过关条件,版本就不敢发,功能不敢砍,方向不对也不敢承认。
能接受自己做的事情不是非要赢,这件事就可以干。
赢这个字太重,要证明自己,证明方向,证明这些周末花得值。我把目标换成「这一版发出去,我自己先用着」,手就松了。松下来才看得清,哪些是我真想做的,哪些是为了赢堆上去的。
也别把这话理解成躺平。bug 该修还是要修,质量该有还是得有。松掉的只是那层绑定:我不用靠赢来证明自己值得做这件事。东西本身的标准一分没降。
7. 上线不是山顶,是下一座山的山脚
做的时候总以为发布是终点。发出去就轻松了,空气变好,路变宽。真发出去才知道,后面还排着维护、兼容、账单、数据迁移,偶尔冒出来一个人,问一个我完全没想过的问题。
写第一版时这些我一条都没想过。当时脑子里只装得下「先做出来」,别人提醒过,我也听不进。功能清单以外的事,要等上线那天自己找上门。
困境很像爬山。你以为翻过这座就看见希望,很少有人问,山后面会不会是更高的山。问它不为了绝望,只是别把「熬过去」听成「从此轻松」。真会变的是腿力和走法,地形不会突然变成平原。
山既然翻不完,「熬」也就谈不上硬撑到某个终点。它更像保持在场:别断粮,别断气,别把自己弄到连编辑器都不想打开。所以现在要问的不是怎么一次性优化产品或者自己,而是这座山,能不能先熬过去。
正被砸的时候:先挡,别加戏
数据难看、没人回复、自我怀疑,这些会成串地来。早知道会这样,难受还是难受,两件事不冲突。但先别演「我完了」或者「必须翻盘」。停掉最假的那条需求,把范围缩小,交出能交的一小块。
优化放到山脚再做
人还在坡上,别同时重构架构、换技术栈、重写定位。先走到能歇脚的地方,再谈结构和节奏,还有下次怎么少鲁莽一点。
我仍然是个无能的人。东西可能没人用,清单上还有一半是给面子做的,山后面大概还有山。这些同时成立,也不妨碍我今晚再提交一次。
我不需要它赢,也不需要谁喜欢它。我在做我喜欢的事,什么结果我都接受。
没准备好失败,就不要开始。开始了,也不必非要赢。眼前这座山,先熬过去再说。
继续阅读
👇 同标签更多,或返回文章列表
下一篇:事件本身没有对错