我在看《闪电式开发》这本书前,根本不知道世界上存在这么牛的xdite的存在,之所以啃下这本书,就是因为这个Part4。我本人曾经有很长时间做程序设计师的阶段,然后思维渐渐的,要么被同事,要么被各种网文固化了,在创业还未开始,就已经命中诸多思维误区,
xdite给我们列举了11条误区,感觉是字字珠玑,对于打算告别程序生涯,进入创业圈的朋友来说,这些都是鲜活的避坑条款,请记下来吧。
创业其实是一场忘记过去自己,重新学习的过程
- 反常识:程序码品质并不重要
- “创业项目不需要太注重code的品质,赶快上线才是王道”。
- “创业刚开始就不需要注重扩展问题,code quality不重要”。
- 所谓的“不需要注重扩展”,只是我的一个“选择”。
- 软件开发所谓最佳实务,是稳定后的最佳选择。而不是创业时的最佳选择。
- 程序员会把之前上班时学到的best
practice,带到创业起步的观念里面。我认为这是最恐怖的一件事情
- 因为程序设计是一个特殊的工作种类。
- 程序设计会在公司出现的阶段,通常是公司已经“稳定”以后,才会被雇用。
- 甚至他们的工作,就是被找来重新架构那些混乱的“生意逻辑”与“不堪使用的程序代码”。
- 程序设计师,主要的工作职责是:
- 将重复的过程自动化。
- 将系统优化再优化。
- 让程序码结构干净,可扩展。
- 因为程序设计是一个特殊的工作种类。
- 创业从0到1这个阶段,时间资源很宝贵。
- 一开始就ALL IN在一个很容易失败的选项。有很高的概率会阵亡。
- 如果幸运的在创业时遇到一个风口,如果你的项目不在正确时间上线,这场游戏就会完全没有你的份。
- 对于大多数人(甚至是100%)来说,有时候创业有点像是一场赌博。
- 很可能你做的产品,只有你自己需要,但别人可能没有需求。
- 又或者是你的产品,可以有幸扩大,有很大的族群使用。
- 但在大多数的情况下,这件事情很碰运气。
- 我最常看到很多程序设计师创业失败的标准典型:“觉得自己做的产品这个很好,程序码也写得很漂亮,当初也花了许多时间筹备,但反复迭代六个月,最后还是无法运作。”
- 事实上创业会成功的人,反而是那些不太会写程序码的创业家。
- 或是懂得写程序码,却觉得创业一开始不需要写程序码的连续创业者。
- 光是用Landing Page验证点子,就赚到一大堆钱。
第一误区:以为成功创业的程序,底层程序代码一定是干净的
- Over Engineering(过度设计),我觉得这是会让程序设计师最惨的一个习惯。
- “你很难看到程序设计或软件工程高手,最后成为成功的创业家”。
- 这当中的差别,在于:
- 成功的创业家,内心根本没有“干净的程序码架构”这个包袱。
- 成功的创业家,反而是看到强大的市场需求,卷起袖子马上先干再说。
- 这当中的差别,在于:
- 很多程序设计都会有这样的想法:“我创业一定要按部就班,一切规划完美,然后执行上线。
- 因为我老板就是创业时乱写东西,搞到后面很多地方都要打掉重练,让生意无法快速扩展。
- 所以我自己创业,一定要吸收这样的教训。一开始就把程序码写好。”
- 但是,我必须坦白说,这种事情是不可能存在的。
第二误区:预先解决不存在的问题,例如水平扩展
- “水平扩展”这个词,有点像是程序设计界的春药,听到就容易高潮。
- 软件工程界现在很流行一个buzzword:“微服务”(micro service)。
- 指的是把每个功能,都拆成一个个封装完备的小服务,由小服务堆积成为大服务。
- 用以追求效能上的扩展。
- 绝大多数公司,都是加机器、加机器,死命撑,撑到有大神加入来救他们
- 如果一开始务实点,直接用一个大的成熟框架开发,可能就不会有这样的问题:
- 内部没有overhead,搭建迭代速度很快。
- 框架通常够成熟,又开源。反而容易google,知道那边可能瓶颈最大,问题好解决。
- 再不行,就直接把机器换到最大台,直接收工。
- 创业的重点,真的不在于底层架构如何设计。
- 预先pre-scale反而变得无法除错。
- 反而是那些程序设计师不齿的一大包程序码架构,却是容易扩展的选项,要提升效能,用钱就能解决。
- 钱也不是什么困难的事,一旦产品有了市场,就有了流量,有了流量就有钱。
- 有业绩,就容易拉得到投资,到时候想请几个软件架构师,重构都行。
- 很多程序设计师都非常热衷于这种过度架构Over Engineering。
- 我必须再次强调,我个人不是反对程序设计。
- 我自己以前还是个技术精湛的程序设计师。
- 我只是想强调,过去我也曾被这些观念害得很惨。
- 所以现在听到这些buzzword时,心里常觉得不以为然。
- 很多事情,真的是必须要先踩过坑,才知道这有多痛。
- 而多数程序设计,并不知道这些观念对创业来说,都是很毒的毒药。
第三误区:以为创业产品,需经完整规划流程上线,才会取得大成功
- 第三个冤枉路,就是完整的流程。
- 很多业界的朋友出来创业,都会有一个执念:希望自己规划的产品,有一条平整的道路,他们深信经过仔细规划,完美执行,产品就会取得巨大的成功。
- 这种因果逻辑来自:业界厮杀很残酷,不是每个人都有机会赢。
- 你一开始这场游戏,就会有人出来跟你竞争。
- 一旦竞争开始,双方会员就会开始比较,然后开始迁移。
- 当自己一有机会创业,能够100%掌控、规划、打造产品的时候,就想要一切规划的更加完美。去弥补“以前犯的错”。
- 这也是很典型的“倒果为因”。
- 我必须要说:“如果你的服务没有人要用。不是功能写得不够完善,就是单纯没有人要用而已”。
- 很多业界的朋友出来创业,都会有一个执念:希望自己规划的产品,有一条平整的道路,他们深信经过仔细规划,完美执行,产品就会取得巨大的成功。
- 没有人要用的原因,有几个:
- 你可能切不到用户的痛点。
- 别家的产品虽然bug很多,但是你的产品没有比他的好十倍。
- 用户没有动机转换到你这里玩。并不是code规划是否完善的问题,而是其他的问题。
- 创业最宝贵的资源其实是时间。
- 如果创业者执着于把时间花在写出完整的规格,那么错过风口基本上是必然的事。
- 创业其实是一场长途旅行,意外时常发生
- 我在第二次创业后,意识到一件事:创业根本不是能预先规划的事情。
- 创业,要做的其实只有尽量避免在路途当中别死掉就好了。
- 最后到不到目的地,甚至都不是重点,重点是有没有享受这个过程。
- 在过程中又学习到什么。
- 很多人一开始Over Engineering,花太多准备功夫,还没走到中间,钱就烧完了。
- 或是花了太久的时间,只在一个小镇打转。
- 或是出发前,没有对一些意外做基础的小保险,路上踢到个小坑摔死了。
- 创业路上,满满皆是这种高难度问题。
- 但现有资源跟不上,唯一的解法只有不惜一切,用奇怪的低科技手段或者是暴力解决。
- 就像前面有石头挡路,正常心智的程序设计会做的就是:大家围着石头,研讨用切割机,算力学原理,以损伤周遭最低程度之类的方式处理搬走这颗石头。想出最完美的解决方法。
- 你知道创业家会怎么做吗?
- 不要走这条路,绕过去!
- 如果真要走这条路,用炸弹把石头炸掉,走过去。
- 或者是去弄一个弹簧床,跳过去。
- 创业家的的作法,简单粗暴,就是GET
SHIT DONE。
- 甚至极端一点,我认为在创业路上,任何一个状况,只要花上超过三天的方法去解决,就是蠢方法。
- 创业没有办法被“规划”
- 另外一个反常识是:多数创业当中遇到的挑战,没有办法预先规划解决。
- 没办法规划一个月以后的事情,只能规划三天之内的事情。
- 重点在于,当时那个生死存亡之际,没人使用你的服务,
- 留不住目标使用者的注意力,瞬间就被竞争对手势头掩盖过去。
- 没人用你的服务,程序写得再好也白做工。
- 重点真的不在于程序写得有多好,而是在你怎么想出办法快速解决眼前的难题。
- 有些程序设计很不习惯,创业公司为什么做产品没有规范,反而充满workaround以及政治不正确的作法,觉得很不正规。
- 没人用你的服务,程序写得再好也白做工。
- 但是,这才是创业公司,每天真正面对残酷的状况。
- 创业公司所有遇到的挑战都是都是动态生成,动态生成的挑战没办法预先规划解法。
第四误区:创业一开始没有钱,所以跑去接案,边接案边开发产品
- 许多创业者创业的初衷其实很可笑,“我一身好本领,老板当初给我的薪水低估我的身价。凭什么老板赚走那么多的钱,我的功劳那么大,但是我并没有得到很合理的报酬。”
- 创业应该没那么难,反正在写程序时都已经知道老板的Knowhow,只要出去开一个me too,跟他做一样的事情,甚至做得更好,一定可以比老板赚更多的钱。
- 这是多数程序设计出来创业时,比较天真的想法。
- 创业一开始,无论是谁都需要资本启动。但是创业一开始,我自己没有钱,身上只有技术。一开始我可以先帮别人写程序代工接案,赚到第一桶金或边接案边做产品。
- 这是创业我走过最冤枉的一条路。
- 所以每当听到软件工程师要创业,向我请教创业相关问题。我都会劝他们:别接案了。想创业去跟银行贷款一笔钱,直接去做你想要的产品,别绕一大圈。
- 为了“想创业”而去创业。是一个完全错误的开始。
- 而且接案是一个挺痛苦的行业。接案的坏处在于:
- 接案的时候,就算你的产出是100分,业主也只会觉得这些产出是60分。做120分,业主觉得这刚好在他心目中也顶多是80分而已。但是,如果你做60分80分,他会觉得是20分。
- 接案有淡季,有旺季。员工看你旺季很赚钱,但他却不知道淡季不赚钱。Billing hour很容易被知道价钱,他会觉得老板在billing hour上赚那么多钱,怎么都没有分员工。
- 接案公司员工,也不喜欢自己反复做不同的新产品,他会觉得没有跟着产品共同成长累积。所以这些刚训练好的员工,在训练好能够独当一面的时候就走了,流失率很大。
- 所以接案这个行业,本质上等于:
- 只是卖时间
- 帮别家公司训练工程师,自己的公司没有累积资产。
- 而且接案是一个挺痛苦的行业。接案的坏处在于:
- 行业有一个理论:就是如果你创业没有赚超过之前工作薪资的三倍,根本是赔钱的事情。所以我建议适合创业的状态,是你知道自己确定能做出什么有价值的产品,再出来开始。
- 万一没有钱开始,第一笔资金又没人投资,就去跟银行借钱。
- 接案这个方向是下下之选。
第五误区:错判风口的重要性,以为“风口上的猪”只是纯粹幸运
- 创业怎么挑IDEA?
- 后来我真的站过几次风口之后,我才发现风口上能飞的真不是猪,都是神人。
- 因为风口里面被弄死的人,真是多到无法想像。在风口里,勉强站稳都很困难了,更何况是能稳稳飞上去的人。
- 我几次比较成功的创业,都是飞在风口上。
- 这些行业,完全不是当初我想做的事业。
- 我只是在时机到的时候,发现有需求,站在那里做出来,然后就爆红了。
- 去做比特币交易所,是我从小的愿望吗?怎么可能!
- 第一次创业的软件工程师,经常好奇如何找到创业的IDEA?
- 要做你热爱的事情,去解决领域里面没人解决的事。
- 我之前当程序设计的时候,是没有人生的。没有人生该怎么办?当然是寻找我的人生。
- 我后来真的开始赚钱,是开Rails补习班。
- 这是我另外一段人生的开始。我因为很会写程序码,所以我有办法教人写程序,后来我甚至擅长教人写程序。
- 我对教学开始有热忱之后,花了很多时间改善教学效率,并且有办法做到大规模水平扩展。
- 这就是我新的人生。
- 程序设计的世界是个很单一的世界。
- 我以前思考很单一、单纯,甚至很薄弱、很狭隘、很可笑,就像现在有时候我也会觉得工程师的视角很狭隘一样。
- 在这个世界上,要能够真正赚到钱,唯一的途径就是贡献自己的社会价值。这件事必须要拥抱现实,拥抱人生才有办法做到。
- 工程师的价值观与正常人的人生其实不太一样。
- 真实的世界是“很脏的”。我后来会找到创业的方向,赚钱的方向,也是因为我重新找到人生。
- 如果你创业的策略是,看别人做什么赚了大钱,接着想办法复制对方。
- 绝大多数情况下,这是个没有用的策略。程序设计师虽然具备自动化的技术,但创业是靠生意里面的诸多细节。
- 单凭程序去创业,不可能会成功。
- 创业能够赚到钱的题目,是社会上压力很大但尚未被解决的问题。
- 而所谓“风口”指的就是压力很大的领域;压力很大指的是“需求存在”但“社会基础建设跟不上”。
第六误区:以为天使投资是慈善事业
- 创业取得第一笔启动资金的方式有很多种。其中一种类型是投资。
- 一般人对于“天使投资”的粗浅认知是这样的:
- 看到idea以及人对了,就爽快投资,也不会做太复杂的调查。
- 不干涉公司经营。
- 所谓“天使投资”并不是善心投资,而是投资策略的一种,本质上是“早期项目投资”。
- 早期项目投资的策略是:
- 假设这位创业投资者,手上有一千万,一次投一百间,每间投资十万,
- 在这当中有一百间公司,有一间公司这笔投资赚了一亿,也就是中了一千倍。
- 那么这一千万的报酬率,最后就是赚10倍。
- 虽然有99 间公司失败,但无所谓,因为新创公司非常容易失败。
- 有人统计过,五年之内,只有1%的创业公司能够存活下来。
- 早期投资人要增加胜率的方式,就是一次投资很多间公司,增加投资成功的概率。
- 因为在这个阶段,公司实在太容易失败,如果增加太多micro manage,成功概率未必也会显著提升。
- 天使投资人的投资策略就是直接在风口上狂投100间,只要其中一间报酬1000倍。整体投资就有10倍回收。
- A、B、C、D轮,只是倍数大小的不同。
- 如果你想承担较小的风险,就投越后阶段的轮。
- 当然,后面公司生存下来的概率越大,但是投资报酬率也相对比较低。
- 早期项目投资的策略是:
- 天使投资的“天使”不是善心的“天使”。
- 很多创业者误会了这一点。
- 天使投资只是一种投资的策略。
- VC的世界也是人吃人。
- 如果创业者能够从投资者的逻辑角度重新审视自己的作品,会看到很不一样的世界。
- YC有一门课,叫做YC创业公司投资者学校,非常推荐大家去看。从投资者的逻辑倒推回去思考,
- 你反而会知道要做什么才会有人投资,更容易水平扩展。
- 如果大家都在拿资本玩的时候,你没有取得资本跟着用钱玩,那你的成功概率可能就会小一些。
- 这就是为什么我会劝朋友,创业尽量选择风口题目。
- 天使投资的题目,应该是说赌“不是零就是一千”,
- 如果创业者目标只有三倍。这是天使投资,我没有兴趣花那么大的风险,去赌投资报酬率只有三的题目;
- 如果只有三,资本要出场,非常困难。
- 我完全搞不懂这是什么样的融资策略,最后也没有投这个项目。
我觉得创业者,如果创业想要募资,必须先搞清楚募资界的生态链,不然很容易表错情,很容易一直碰壁或陷在奇怪的循环里。
第七误区:眼睛只盯着产品,没看着市场
- 一个好产品,但是没有分销能力,也没有现金流。
- 通常看起来,好像是只有程序设计会做出这种类型的产品。
- 程序设计常会认为做出一个好产品,就是一切!好产品,业绩就会自动成长。
- 《Blitzscaling,闪电式扩张》这本书中,特别指出这个通病。
- 这本书的观点认为要创业成功,不只要做一个能够product market fit的产品,更要考虑到这个产品怎么样做distribution。
- 要打的市场有多大?
- 还要观察持续运营的能力、毛利、频次,这些指标要够高。
- 创业也是一样,我只是在某些关卡玩过太多遍。
- 例如,前一阵子我玩Two Points Hospital,这个游戏我玩了30遍。
- 玩到最后医院不管怎么盖都会赚钱。
- 我不是医院经营大神,我只是玩30遍。
- 所以那些文章,不是嘲笑或不屑,而是我以前曾死在这个关卡过。
- 我只是好心说出来:“在这个关卡,用这样的方式玩,死亡概率接近100%”。
第八误区:以为技术高墙是唯一标准,快速招募人员至上,价值观不重要
- 价值观,完全不能妥协!
- 欧美的团队很强调招募人必须看重价值观,认为价值观远胜过一切,宁愿速度慢也不要招募到价值观不一致的人。
- 以前我还在网络公司时,技术团队在招人,通常看中的是这个人的技术栈(过去学过的整套技术)。
- 当一个团队里面,同事们彼此之间价值观不相容的时候,就会产生冲突与矛盾。
- 小则做事不能协调,大则整天内斗,甚至为了伤害同事不惜搞烂公司。
- 所以价值观是完全不能妥协的事情。
- “价值观”的意思是:你为什么想要在这间公司,在这间公司里面你做人处事的基本原则,你平时自己做人处事的原则。
- 你平时遇到紧急的状况,你会做什么样的决断。
- 在中国创业时,我新的团队成员,背景都是“全栈营”同学。
- 全栈营同学,价值观都一致。
- 像我的同事,当年全栈营的同学,
- 现在做产品的功力都超级厉害,
- UI/UX做的超级好,
- 风险控管超级仔细,
- 文案写得比我好,
- 每个人都比我强。
- 再一次强调,价值观,真的是最重要的事!
人都会成长,也许同事现在做事情比较慢,可是价值观与我们一样,他们会成长。
第九误区:以为技术能解决“生意上的难题”
- 在传统产品开发流程,许多团队是使用瀑布式开发。
- 瀑布式开发的意思就是先详尽写好规格,再进行开发。
- 但是这样的开发流程很耗费时间,
- 也很容易做出与现实需求差异很远的产品。
- 所以程序开发界对这件事情,进行了改革。
- 宣导我们应该使用“敏捷开发”,
- 舍弃完整的规格,
- 并用轻便的用户故事User Story替代,
- 大幅提升开发效率。
- 使用User Story出现了另外一个问题,
- 就是User Story通常是程序设计自己决定,程序设计师有时候就会自high,
- 写了一大堆User Story,却不是销售部门的需求,
- 而是程序设计师觉得自己需要的,还很开心执行下去。
- 我以前还刚接触到敏捷时,觉得SCRUM这个框架也很厉害,但觉得这个方式怪怪的。
- SCRUM用点数扑克牌,团队成员用点数扑克牌大家比较工时权重分数计算决定。
- 一个功能应不应该排入优先顺序,应该是市场需求决定吧。
- 怎么会是程序设计用扑克牌比较工时呢?
- 后来实际创业,才发现这种开发方法,跟温室真空开发,实在没两样。
- 再来,Growth Hack的兴起,让一些程序设计认为在网站、App里面埋点,就能做成长。
- 埋点用资料辅助行销决策,的确是这套方法论的基础。
- 但不表示可以不听使用者feedback,没办法只用测量以及改 UI 接口就能让营业额上升。
最终取决有没有打对市场,打对痛点。
第十误区:以为产品好就是一切,忽略现在已经进入闪电战的时代
- Paul Graham曾经写过一篇经典的论文,叫Do things don’t scale,这让很多人对创业做产品有错误印象。
- Do things don’t scale的步骤是:
- Step 1: Do things that don’t scale.
- Step 2: Achieve scale.
- Step 3: Do things that scale.
- 但BlitzScaling指出,现在的战争应该要这样打:
- Step 1: Do things that don’t scale.
- Step 2: Reach the next stage of blitzscaling.
- Step 3: Figure out how to do one set of things that scale, while somehow also finding a way to do a completely different set of things that don’t scale.
- Step 4: Reach the next stage of blitzscaling.
- Step 5: Repeat over and over until you reach complete market dominance.
- 因为Do Things Don’t scale这个理论太经典。导致硅谷一大堆创业公司,把精力花在精进产品之上,认为把产品反复修改到够好,就能到达扩展阶段。
- 在阅读《Blitzscaling》时,我就意识到现在战争的速度与血腥速度,时代已经不同以往。
- 硅谷最新的Growth Hack,现在已经不谈AARRR,而在讲如何搭建Product上的 Viral Loop,如何利用 Viral Loop快速占满管道。
对我来说这点真是很大的教训。
第十一误区:我们一开始就能打造一个一劳永逸的产品
- 一开始就想把最终产品写到位。但这是创业最常发生的状况。
- 你没办法一次写到位。甚至pre-architecture还会害死自己。
- 很多系统都是一再重写reinvent。
- 我以前很羡慕别人的服务有强大完整的风险控制系统。
- 以为别人都是找来大师开发出来的。
- 当自己在开风险控制系统时,才发现是血泪去堆出系统规则。
- 一条一条暴力补上去。再一次性重构成一个架构稳固的系统。
- 有工程师朋友问过我怎么规划1.1版本的产品?
- 我回答如果产品有“1.1”版,还需要规划,那这个产品基本上没有量。
- 因为能够做的起来的产品版号是1.0,2.0,4.0 这样大跃进得跳。
- 每个礼拜开发的版本号不用规划,真实客户feedback会占据接下来你开发的目标,活生生的startup真实状况就是这样。
- 每天有做不完的事,灭不完的火。
- 但这不是哪个startup管理不好,所以很多火。
- 而是所有startup本身都是着火的公司。
- 创业团队的心力重点,在于灭掉眼前会让公司当场死亡的大火。
- 如果一个成员抱怨他在的创业公司一天到晚都在失火,没有制度。不是这间公司不好,而是他不应该待在这个生态里面。
- 他应该待在制度成熟稳定不需要变化的大公司里,而不是出现在创业公司里。
- 所谓的火箭,指的是充满需要扑灭的火,而不是冷气温度适宜的飞机头等舱。
- 我过去学到的一切,都是错的
- 我2012年创业,在创业之前,我花了四年的时间,把技术练得顶尖。
- 后面又我花六年的时间,逐渐把我学过的engineering知识都忘掉。
- 所以今天我才可以站在这里。
我希望这一章可以让大家知道,不只方法论重要,忘掉过去自己的一切,更重要。