先说结论:代码不是副业的起点,是放大器
程序员做副业,最容易亏的地方不是不会写代码。
恰好相反,是太会写了。
一有想法,第一反应就是:
我先把系统做出来。
登录要有。
后台要有。
支付要有。
权限最好也先设计一下。
数据库结构顺手建好,部署脚本也配一下,最好再留个多租户扩展位。
这个动作在公司里很正常。
需求来了,拆任务,排期,写代码,联调,上线。
但副业不是公司项目。
公司项目里,很多东西已经有人替你挡掉了:客户是谁、预算从哪来、谁拍板、需求有没有价值、上线以后谁运营、谁客服、谁背锅。
你只负责其中一段。
副业不一样。
副业里你写的每一行代码,都是你自己的成本。没有人给你兜底,也没有人保证这东西写完以后有人买。
所以我现在看程序员副业,会先问一句很扫兴的话:
这段代码到底在放大什么?
如果它放大的是一个确定需求,那代码很值钱。
如果它放大的是一个还没验证的幻想,那写得越快,亏得越快。
副业不是项目,副业是一笔账
程序员做副业最常见的错误模型,是把它当成一个待交付项目。
脑子里的流程大概是这样:
想到一个点子 -> 选技术栈 -> 写 MVP -> 上线 -> 发出去 -> 等用户。
这里面最大的问题,是顺序反了。
你把最熟的部分放到了最前面,把最不确定的部分放到了最后。
写代码当然有爽感。
今天搭完框架。
明天写完登录。
后天接上支付。
每一天都有进度条。
但找用户没有进度条。
你发出去没人理,就是没人理。
你私信十个人,九个不回。
你问别人愿不愿意用,别人说“挺好的”,然后再也没打开。
这种反馈很难受。
所以很多人会退回代码里。
没人用,那我再加个功能。
没人付费,那我再做个会员。
没人转发,那我再做个邀请奖励。
看起来一直在推进,其实是在绕开最难的问题:
这个东西到底有没有人愿意为结果付钱?
程序员很容易把“能做出来”误判成“值得做”。
这两个差很远。
能做出来,只说明技术路径通了。
值得做,得看需求账、分发账、交付账能不能对上。
我现在会先把一个副业拆成三笔账:
- 需求账:这个问题是不是已经让人付过成本。
- 分发账:你能不能找到第一批愿意买的人。
- 交付账:上线以后会不会把你的时间持续吃掉。
这三笔账里,代码只解决一小段。
而且必须排在后面。
第一笔账:需求不是想法,是已经有人付过成本
一个想法听起来合理,不代表它是需求。
比如:
给程序员做一个日报聚合工具。
听起来没毛病。
大家每天都要看技术新闻,信息很散,聚合一下应该有用。
但问题来了。
他现在真的痛吗?
他现在怎么解决?
他为这个问题付过什么成本?
是每天浪费半小时,还是只是偶尔觉得信息有点乱?
他愿不愿意为“少切几个网站”付钱?
如果答案都很含糊,那这个需求大概率只是“有点意思”。
有点意思,不够。
副业要找的不是“可以用”的需求,而是“现在不用就很烦”的需求。
这里有个很简单的判断标准:
如果你不做这个工具,对方现在会不会继续花钱、花时间、花人力去解决?
会,那才像需求。
不会,那可能只是一个话题。
所以我不太喜欢一上来就问别人:
如果我做一个工具,你会不会用?
这个问题太容易得到礼貌答案。
别人会说“可以啊”“做出来看看”“挺有市场”。
但这不算验证。
The Mom Test 讲用户访谈,最有用的一点就是别让别人评价你的点子。你要问过去发生过什么。
换成副业就是:
- 上次遇到这个问题是什么时候?
- 当时怎么处理的?
- 处理一次要多久?
- 有没有花钱买过类似东西?
- 现在这个方案最烦的是哪一步?
- 如果不解决,会有什么损失?
这些问题没有那么热血。
但它们能把“我觉得有需求”拆成真实证据。
代码之前,先找证据。
第二笔账:没有分发,代码只是本地资产
很多程序员低估分发,是因为我们平时离用户太远。
公司里有产品、销售、运营、渠道、品牌、投放。
你可能只看到需求单,以为用户天然就在那里。
自己做副业才会发现,用户不是自然冒出来的。
你把产品上线,不等于有人知道。
有人知道,不等于有人信。
有人信,不等于现在就买。
这中间每一步都要成本。
我以前也容易高估“产品好用”这件事。
后来发现,很多产品不是输在不好用,而是根本没走到用户面前。
没有分发的时候,代码更像库存。
你以为自己在积累资产。
其实可能是在仓库里堆货。
页面越完整,后台越复杂,功能越多,库存越重。
但没有订单。
这就是为什么独立开发里,分发能力有时候比技术能力更稀缺。
你有一个长期更新的博客,有稳定搜索流量,有一个垂直社群,有行业里的客户关系,有一个愿意看你输出的账号,这些都不是“锦上添花”。
这些就是产品的一部分。
Paul Graham 那篇 Do Things that Don't Scale 说早期要做那些不能规模化的事,很多人只记住了“手动服务用户”。
但这里面还有一层意思:
早期产品不是靠系统自动长大的。
你得亲自把用户拽进来。
副业更是这样。
你没有 VC,没有销售团队,没有品牌预算。
那你就得回答一个很现实的问题:
第一个付钱的人从哪里来?
如果这个问题答不上来,先别急着写代码。
第三笔账:交付不是上线,是长期被打断
程序员容易把上线当终点。
但副业里,上线只是开始被打断。
用户会问:
为什么登录不了?
为什么支付了没开通?
为什么导出的 Excel 格式不对?
为什么这个字段不能改?
为什么手机上样式乱了?
为什么上周还可以,今天不行?
这些问题单独看都不大。
麻烦在于它们会随机出现。
你白天在公司开会,客户微信弹一下。
你晚上准备休息,服务器报警一下。
你周末刚出门,对方说“就改一个很小的地方”。
这就是交付成本。
它不是写在代码里的成本,但它会真实吃掉你的注意力。
尤其是工具类、SaaS 类、定制类副业,上线以后你要管的东西很多:
- 文档
- 教程
- 退款
- 账单
- 备份
- 监控
- 数据修复
- 版本升级
- 客服解释
- 需求边界
这些在公司里可能是几个人甚至几个团队的活。
你做副业,全是你。
所以判断一个副业能不能做,不能只看开发工时。
还要看它会不会持续打断你。
一个项目如果每月赚 500,但每周都要让你处理一堆碎事,那它不一定是收入。
它可能是一个低价值的长期占坑。
最坑的场景:低价定制,表面赚钱,实际亏时间
程序员副业里,低价定制是最容易误判的。
因为它一开始真的有钱。
对方说:
做个小后台,很简单,录数据、查数据、导 Excel。
你一听,感觉不难。
报价 3000。
周末写一写,赚点外快。
结果做起来就变了。
登录要分角色。
数据要按部门隔离。
导出格式要跟他们以前的 Excel 一模一样。
手机上也要能操作。
老板想看统计图。
员工不会用,你还得远程教。
上线后对方又来一句:
这个地方能不能顺手改一下?
最开始那个“很简单”的后台,最后变成一个小型业务系统。
我们算一笔账。
开发 35 小时。
沟通 10 小时。
改需求 12 小时。
部署和数据整理 4 小时。
上线后答疑 8 小时。
一共 69 小时。
3000 块,平均一小时 43 块多。
这还没算你被打断的成本。
更要命的是,这种项目通常没有复利。
你这次为 A 客户写的导出格式,下次 B 客户未必能用。
你这次为 A 客户改的权限规则,下次又得重新聊。
这就不是产品副业。
这是把自己的晚上按小时低价卖掉。
外包当然可以做。
但如果你做的是外包,就按外包的方式做:明确范围、明确变更、明确验收、明确维护费用。
别拿产品副业的心态接定制。
那样最容易两边都不占。
产品没沉淀下来。
时间也卖不上价。
程序员真正的优势,不是“我能写”
我不觉得程序员不适合做副业。
程序员其实很适合。
但优势不是“我会写代码”这么简单。
会写代码的人太多了。
真正值钱的是你能看懂一个流程,然后判断哪里值得自动化。
比如一个培训老师每周都要整理报名表、核对付款、生成名单、发通知。
这不是一个宏大的平台机会。
但它是一个重复流程。
如果你能先手动帮他跑两次,发现最耗时间的是“核对付款 + 通知未付款用户”,那你写的代码就有意义了。
因为它不是凭空造一个系统。
它是在压缩一个已经存在的成本。
程序员做副业,比较好的切入点往往是这种:
- 已经有人在手工做
- 流程重复
- 错了会麻烦
- 对方能说清楚损失
- 你能用工具把其中一段成本打下来
这个时候代码才是杠杆。
不是从 0 创造需求。
而是把已经存在的麻烦,变得更便宜、更稳定、更少出错。
这才是程序员该吃的那口饭。
更靠谱的顺序:先卖一次,再写代码
我现在更认可的顺序很土:
先卖一次。
再写代码。
这里的“卖”,不一定是收很多钱。
它可以是预付。
可以是定金。
可以是让对方愿意给你真实数据。
可以是让对方愿意约时间,把现在的流程完整讲一遍。
核心是看他愿不愿意付出代价。
愿意付出代价,才说明这件事在他那里有位置。
不愿意,那就别太上头。
很多 MVP 不需要从代码开始。
你可以先用飞书表格跑。
用微信群跑。
用 Notion 跑。
用一个静态页面加表单跑。
甚至你自己手工跑。
Lean Startup 里讲 MVP,重点不是“做一个缩水版产品”,而是用最小成本验证最关键假设。
对程序员来说,最容易错的地方就在这里。
我们会把 MVP 做成一个“小而全的正式系统”。
但很多时候,你真正要验证的是:
这个流程值不值得被代码化。
如果手工跑都没人要,写成系统也不会突然变香。
如果手工跑已经有人愿意付钱,代码才有机会把你的交付成本降下来。
顺序别反。
我会用这 6 个问题判断能不能做
真要判断一个程序员副业值不值得做,我会先问 6 个问题。
第一,用户是谁。
不要说“中小企业”“程序员”“内容创作者”这种大词。
要具体到你能找到他。
比如“做线下培训、每周要整理报名和收款的老师”。
第二,他现在怎么解决。
如果他现在完全不解决,那要小心。
因为你可能不是在替代旧方案,而是在教育市场。
教育市场这件事,个人副业很难扛。
第三,他为这个问题付过什么成本。
花过钱、花过时间、找过人、买过软件、用 Excel 凑过流程,都算证据。
只说“这个挺烦”,不够。
第四,你从哪里找到前 10 个用户。
如果前 10 个都找不到,别幻想第 1000 个。
第五,交付一次以后,会不会长出大量个性化需求。
如果每个客户都要重写一套,那就按定制项目报价。
别骗自己这是 SaaS。
第六,代码能不能降低下一次交付成本。
这是最关键的。
如果你写完代码,下一个客户还是要从头沟通、从头改、从头部署,那它没有形成复利。
它只是把外包包装成了产品。
这 6 个问题问完,很多点子会直接凉掉。
这不是坏事。
早点凉,比写三个月以后凉便宜太多。
结尾:别拿代码替代判断
程序员做副业,最该警惕的不是懒。
是勤快用错地方。
你很努力。
晚上写。
周末写。
上线前改到凌晨。
甚至还把部署、监控、支付、后台都做得挺像样。
但如果需求没验证,分发没入口,交付没算账,这些努力可能都只是在增加沉没成本。
代码不是没用。
代码很有用。
但它应该放在判断之后。
先判断谁真的疼。
再判断他现在怎么解决。
再判断你能不能找到他。
再判断交付成本能不能被压下来。
最后才写代码。
方向对了,代码是杠杆。
方向错了,代码就是库存。
程序员做副业最容易亏的地方,就在这。
不是写得不够。
是太早开始写了。
参考链接
- Paul Graham:Do Things that Don't Scale
- Y Combinator:How To Talk To Users | Startup School
- Rob Fitzpatrick:The Mom Test
- Lean Enterprise Institute:Lean Startup
- Marketing for Developers:Marketing for Developers
- Indie Hackers:Side Project Marketing Is the New King