精益副业-01-为什么副业特别重要
base
5w: what when where why who
2H: how(如何做?资源?)? how much(做到什么程度?)
职业的可能性
职业的四大象限
书里我创造了一个用来分析程序员职业的工具,。它根据现金流将程序员的职业空间分布到了E、S、B、I 四个象限中,我们依次来说说。

E象限(雇员象限)、帮别人挣钱
E象限是雇员象限。别人给我们发工资,我们帮别人挣钱。这是风险最小的象限,我们的工作任务是别人分配的,只要认真完成,每个月都能得到预期中的收益。
在从开发走向高级开发后,往往就可以开始选择发展路线。E象限的典型的发展路线有两种,专家线和管理线。
E象限的优点是稳定,缺点是天花板非常明显。
S象限(自雇象限)、为自己挣钱
S象限是自雇象限,自己挣钱自己花,一般不雇用别人。比如做独立开发、组建工作室做外包和建站,甚至也可能做一些和编程没有关系的事情。
S象限最大的优点是,自己的业务自己做主,挣的钱也都是自己的。一个三五十万的外包做下来,一年的基本生活保障就有了。
S象限的缺点是,收益未必能比E象限多多少,而风险却高很多。光靠单纯的编程技能往往搞不定,还需要把接活拉活的能力、协调沟通的能力都培养起来。这些能力往往在程序员的舒适区外,需要花精力和时间去培养。因为收入是业务驱动的,所以行业的风险也会直接转嫁到我们这里。
B象限(创业象限)、让雇员挣钱
B象限是创业象限,和S象限最大的不同是我们不是自己干活,而是雇用其他人来帮我们干活挣钱。
它的优点在于,可以让我们从S象限的天花板中解脱出来,拥有规模化成长的可能性。
而缺点在于,它有一个比较大的固定成本。即使是对于轻资产的互联网公司来说,也是如此。比如人力成本。招聘、组建、培养一个团队是非常耗费时间和精力的,所以即使当业务不好的时候,我们还是需要支付大量的工资来维持团队,以便之后能快速恢复业务。
I象限(投资象限)、让钱挣钱
I象限是投资象限,是在我们有了一定的资本之后的一种让钱挣钱的方式。在B象限里,我们需要创办企业来挣钱,这需要大量的精力。即使你的精力异常充沛,同时运营三五家公司也就到上限了。I象限让我们以投资的方式参与到大量的公司中去,共享这些公司的增长,从而实现资产的增值。
在了解了四大象限以后,我们可以发现,如果赶不上公司上市这种可遇不可求的事情、或者能一路升迁做到大公司高层,先不说财务自由,光是要想在北上深买房安家,只留在E象限都是非常困难的 —— 我们必须向其他象限发展。
没有副业的职业
然而在没有副业的情况下,我们的职业就是单进程、只能做单选题。
我们在象限之间的移动,往往只能是突发式的。前一天还在E象限做雇员,第二天突然就辞职创业或者做外包去了。然而贸然进入一个新象限,将面临非常大的风险。因为每一个象限,它背后的商业模式是不同的,对人的能力、思维、精力的要求也都完全不一样。
E→B,辞职创业
先来说说「辞职创业」。
媒体很喜欢把创业宣传得一蹴而就,仿佛只要有一个独特的想法,就可以一夜暴富、咸鱼翻身。
程序员群体的理想主义趋向又比较明显,加上有无数包装出来的成功案例,所以这是程序员从E象限移动到B象限最常见的途径。
有激进派的,拿着自己的一点积蓄就英勇地加入的创业的队伍;有稳健点的,在搞定了天使投资以后再离职的。
但创业的光环在市场的面前毫无用处,要找到一个真正有商业价值的需求非常困难,往往要花很长的时间试错。而后,还要针对这个需求做出比现有方案至少好十倍的新方案。同时,还有大量公司管理、人力招聘、融资沟通方面的事务,这些都会让创业新手难以招架。
不少程序员朋友找我聊他们的创业想法,我发现他们真的只有想法 —— 完全没有进行过验证,他们并不了解B象限的生存法则。
E→S,回老家开工作室
S象限,在这里可以看成是 Easy 难度的B象限,因为自雇没有员工,可以不处理公司管理相关事务。
最熟悉的讨论就是回老家结婚,不,开工作室。我有不少北漂朋友都选择了这条路。
本质上来说,这其实是一个好选择,但问题在于,如果没有做好前期准备,失败率也是非常高的。
在大公司工作的人容易产生一种幻觉,那就是把平台的能力当做自己的能力。以大公司的身份去和别人谈合作的时候,感觉都很容易。等到自己离完职才发现,同样的客户,你根本都见不到人。
我知道不少朋友都是因为高估了自己拉业务的能力,最后不得不又重返北上深。
加上全球经济放缓、美元投资减少,这种单线切换的方式又包含巨大的风险,所以很多程序员都选择了被锁死在E象限,成为永久的打工人。
我并不是说打工不好,但如果你不能较快地晋升到高级职位的话,就要仔细考虑如何应对正在形成的35岁新门槛。
副业带来的可能性
当我们有了副业,情况就完全不一样了。
因为我们从单进程变成了多进程,可以并行地进行尝试。最重要的是,这种尝试并不会影响我们的主业,不会降低我们的生活质量。
我们还是以上一节的两个例子来看。
E→S,回老家开工作室
采用副业的方式操作,我们在离开北上深之前就可以创立自己的工作室,并开始接活。
一方面拓展客户,累积口碑,另一方面,我们还可以从客户的案例中提取重复需求,将其产品化、服务化。
等到有了自己的客户和产品,我们在哪个城市已经不那么重要了,甚至可以在全国一个城市住上那么一两个月,一边旅行一边工作。
E→B,创业
有了副业,B象限等于完全开放了。不要纠结于是否成立了公司,那只是一个形式。
真正驱动公司的是业务能力和运营公司的能力,而这些我们都可以通过副业练出来。
把创业想法以 Side Project 的方式来运作,以最简单的产品直扑最核心的需求。
没有经验和所谓的产品感都不要紧,因为副业我们是输得起的。这个项目找不到需求,那么复盘以后开始下一个。那些创业公司花大价钱验证的认知,我们通过 Side Project 同样能获得,只是时间可能更长一些而已。
这种低风险的创业模式,也是非常契合当下的创业环境的。创新工场的汪华在2020年4月的一场分享中提到,移动互联网信息、交易等纯界面层的战争已经基本结束,那种靠想法和快速扩张的打法,已经很难奏效了。
所以通过副业的方式,扎扎实实地经营一家企业,靠对市场的理解、优质的产品、良好的管理和持续发展取胜,才是新时代更好的选择。
可以看到,引入副业后,我们可以以低风险、并行的方式在职业象限中移动,为职业的发展带来了无穷的可能性。
职业自由度
从中指备用金说起
前面说了副业给我们的职业带来了更多的可能性,接下来我们就来看,副业给我们的职业带来的更大的自由度。
首先是职业选择的自由。
这里我们先来讲一个比较有意思的概念,它叫做 F*** you money。这是国外的一个词,我们把它翻译成「中指备用金」。
它指的是一笔钱,数量大概是这个样子:突然有一天你跟老板闹翻了,你可以竖起中指,跟他讲说老子不干了,然后辞职回家。在这种情况下,你的生活质量也不会受到影响。
标准意义上的「中指备用金」,其实是和财务自由差不多额度的一笔钱,是以「不工作」为前提的。如果大家在北上深,要做到财务自由还是很难的。
我们这里要讲的是以「换工作」为前提的一个低配版本。也就是说,你可以随意裸辞,在找到下一份满意的工作之前,这段可能会长达半年甚至一年的时间里,没有任何收入,但你的生活品质不会受到太大影响。
很多年轻一点的同学可能觉得根本不需要这种备用金,因为现在的 90 后 00 后正是这么干的。但是当你的年龄稍微大一些,还着房贷车贷、养着老人小孩的时候,要是突然没有收入来源,压力实际上是非常大的。
而副业,恰恰可以为我们提供这么一笔钱。可能总额不大,但可以持续不断的提供。
这种情况下,我们就可以花更多的时间去思考自己的职业、未来和人生。去做一些短期内收入不明显,但长期收益巨大的决定。
这也就是副业带来的选择自由。
PlanB和反脆弱
除了可以给我们的职业带来自由度,副业更可以为我们的职业引入反脆弱结构。
「反脆弱」这个概念,它来自塔勒布的书《反脆弱——从不确定性中获益》。
在书里边,塔勒布说,他之所以要专门造一个词,是因为大家往往对脆弱的反面有所误解,以为是「坚强」,也就是类似软件的「鲁棒性」。但事实上,反脆弱性比鲁棒性更棒。
什么意思呢?鲁棒性是说在风险来临的时候我们要做到不受影响。
而反脆弱性更上一层楼,它说的是,当风险来临的时候,我们不但不受负面影响,还能从风险中受益,变得比原来更好。
具体到职业上,鲁棒性是说,万一现在公司发展不好,我们可以很容易地跳到平级的其他公司,继续我们之前的职业路线图。
而反脆弱性是说,当现在公司发展不好,我们可以很轻松的切换到另一个职业象限,实现跨越式的职业发展。
如果我们精心选择并发展合适的副业,它能带给我们的,正是后者。
为什么这么说呢?这是由副业的天然特性决定的。因为它是我们用业余时间、在资源紧缺的情况下发展出来的。
如果我们能把它转为主业,而它依然保留了对时间、资源需求不多的特性,那么这份工作就会极为舒适。
全新的工作自由度
接着上一节,我们来看看副业带来的、全新的工作自由度。
这里我们多展望一下未来,主要是给大家鼓气。副业是很累的,要把别人用来休息的时间用到额外的工作上,多想想它的好处可以鼓励我们坚持下去。
当然,就像前边提过的,工作自由度最高当然是财务自由,上不上班都行,完全没有压力。
我们这一节要讨论的是,在暂时还必须上班的情况下,我们可以取得的一些自由——我们就叫它「工作自由」吧。
我一般从三点上来看工作自由度:
工作地点的自由
工作时间的自由
工作内容的自由。
不同的工作方式,有着不同的自由度。
远程办公
比如最近新冠流行,很多公司都开始搞远程办公了,有些大公司甚至宣布员工可以永久远程办公。远程办公这种工作方式,就实现了工作地点自由。你可以去公司的办公室、也可以在自己的家里,甚至是在旅游的路上办公。
但是,远程办公并没有实现工作时间和工作内容的自由,你依然要和其他人同时办公,区别只是以前面对面,现在改成视频了而已。
freelancer
freelancer,就是那种在网上接单并收取报酬的工作者。这种工作方式在工作地点上同样是自由的,而且经常全部内容都是自己做,需要和别人沟通协调的内容不多,客户主要卡交工时间,只要能赶上进度,时间是可以自己安排的。所以它还实现了工作时间自由。
但freelancer没有实现工作内容自由,因为工作内容都是由客户指定的,绝大部分情况下,都不是你自己想要开发的东西。
独立开发
再来看独立开发这种工作方式。它通过售卖独立的软件、游戏或者在线服务来赚取收益。所以在工作地点、工作时间上都是自由的。
由于是自主售卖产品,它在工作内容上,也是自由的。
这里是举个例子,实际上还有很多在地点、时间和内容上都很自由的工作。比如网课讲师。

有意思的是,正是因为这些工作自由度高,所以适合作为副业来操作。
反过来,一旦实际成熟,我们可以让副业反客为主,变成主业,从而随心所欲的掌控我们的日常工作。
职业成长性
新技术练兵场
前边说的都是当职业需要跨象限的时候,副业能提供的可能性和自由度。
但其实,即使你就想循规蹈矩地在一个固定的职业象限里发展,它也能提供非常大的帮助。
首先,副业可以成为新技术的练兵场。
现在社区里边吐槽得很多的一个现象是「面试造火箭,上班拧螺丝」。
去面试一个前端岗位,问一些前端框架的最新版细节、底层原理,这是合理的,属于前端的业务范围。
但如果把深度学习、大数据、云原生、容器编排、区块链甚至量子计算都拿来面试,就有点装了。

但是面试本质上就不是合格考试,而是竞争考试 —— 是要在一群人中选择最好的,所以这也还可以理解。
但最不好理解的是,当我们过五关斩六将入职以后,发现这家公司还在用十年前的技术栈,代码管理用的还是 SVN。
不光是小公司、也不光是传统行业;甚至在一些互联网行业的大公司的某些部门里,也会出现这种情况。吐槽规吐槽,但为什么这种情况相当普遍呢?这其实是由于「技术债务驱动的架构更新」导致的。
什么是「技术债务驱动的架构更新」?
把时间拉回五年前,现在有一个业务需要上线,于是我们用当下(也就是五年前)最新的技术构建了这套系统。然后,随着时间慢慢过去,新技术不断涌出,但是线上系统依然能用,业务团队要求稳定;产品团队需要的是不断添加新功能;根本没有机会对技术栈本身进行大幅更新。虽然技术栈逐渐变得陈旧,但是「又不是不能用,理解万岁」嘛。在这种想法下,技术债务不断累积,直到有一天,技术债务快把整个架构压垮了,甚至业务被迫中止一两天后,公司终于决定了 —— 要重新整套系统。于是,又会选用当前时间点最先进的技术来重新开发一套全新的系统。所以你会发现很多公司的系统,它并不是持续不断地更新、不是随时保持最新;而是在新旧之间反复横跳。
由于五年中,业务变动的可能性和幅度都非常大,所以对公司来讲,重写系统是可能比维护系统更合理的。但对于那些在五年里一直用原来技术栈持续不断地维护旧系统的同学来讲,他们的技术栈被迫变旧了。
而当决定开发新系统的时候,公司又希望使用当下最新的技术栈。这就要求原系统的程序员在一瞬间学会新技术,并开发出一套稳定的系统来。大部分人是做不到的,但从公司的角度讲没有关系,淘汰掉,招聘新人组建新团队就好了,说不定成本还能更低点呢。

所以在这种结构的架构更新里边,如果程序员自己不想办法去学新技术,不去找地方去应用新技术,那么就像温水里的青蛙,最后终会用后即弃。
我很喜欢一句话,它听起来有些残酷,但真实,也时时推动着我去学习最新的技术。
一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石。 —— Stewart Brand
副业给了我们一个坐上压路机,避免被碾压的机会。
程序员这个行业跟其他行业还不一样,它对新技术的要求并不只是认知,光知道新知识、了解新思路是不够的,还需要一个实打实的练手环境,花上相当长时间去踩坑,才能稳妥地做出一个稳定的方案。
副业提供了一个真实业务,让我们可以把最新的技术用到上面,随时保持技术栈最新,增强主业的职业竞争力。
业务敏感度
除了技术,副业也可以帮助我们在业务上获得新认知,保持敏感性。
之前我们在做程序员职业成长服务的时候,发现了一个问题。
很多初阶的程序员没法升到中高阶,有两个很大的非技术影响因素,一个是管理能力、另一个是业务理解能力。
管理能力比较好理解。每一个程序员即使把自己的潜力发挥到极致,成为十倍开发者( 10x developer),他可以处理的事情也是有限的。
但是如果管理能力好,他就可以培养出很多拥有和自己同等技能的人,这样就不只是十倍、而是可以成百上千倍地复制能力,为公司增加更多的生产力。
业务理解能力这一块,是因为在绝大部分的公司里,技术都是为业务服务的。所以需要针对业务的各种需求、各种流程来做解决方案。
如果对业务不了解,那么即使技术很不错,因为不知道某些业务细节,最后设计出来的方案可能也不是最优的。这就像我们小学时做应用题,有一个隐藏条件包含在业务逻辑中,如果忽视了它,即使数学再好,做出来的答案也是错的。
所以,程序员应该需要培养自己对业务的理解能力。但比较讽刺的是,很多公司的初阶程序员,恰恰没有机会去了解业务。尤其是一些比较大的公司,很多业务相关的问题都是在中高阶的技术决策层就已经解决掉了,分配到初阶程序员这里,就只剩下一些规划好的、待实现的技术方案了。
这就会形成职业上的一个断层,让初阶程序员无法变成行业专家。很多公司是无意的,也有极少数公司是有意为之。因为高阶的岗位是有限的,如果你成长起来后没有位置,就会跳槽了。所以,公司不培养我们的时候,我们就只能自己培养自己。
而副业正是磨练自己的好方法。我们可以做一个跟我们主业相关的副业,通过自己的项目来了解需求、理解业务,从而弄明白公司在做什么样的事情,怎样才能做得更好。
将自己从一个纯粹的螺丝钉,变成独当一面的解决方案高手。