1998 年,我 15 岁。在高中时第一次接触到 BBS(电子布告栏)。那时候 WWW 还没有兴起。校内的学生的交流都是透过 BBS 电子布告栏交流连结。
因缘际会下,我成了校内 BBS 的技术站长,假日的消遣,就是上线功能(那时候还不懂开发,只懂得修改部分代码创造小功能)与负责站务运营。(当时并不懂如何从头打造)上线开发能够改变社群的功能,以及参与站内互动,这件事深深让我著迷。
我原本的人生轨迹并不是成为一个工程师。但是这件事深深影响了我。在此之后,我人生的愿望就变成了希望未来成为一个工程师,创办一个许多人用的平台服务。
人生梦想归人生梦想,实现归实现。我大学念了应用数学系,但程式开发功力并没有太大长进。
我以为在大学里面修计算机的课,会让我程式功力有长进。然而我学会了编程 ( C / JAVA ) ,但是却还是造不出「平台网站」。
2006 年大学职场毕业。国外兴起平台创业潮,我也很心动。但是我不具备技术能力,自学了一门 PHP 语言。却发现我虽然有能力写部分的单页网页程式,却还是不知道怎么打造「一个平台」。
这件事主要对我的困难点在于:
- 我并不知道「网站」是怎么被架构设计出来的
- 我的耐心与有空的时间不够多。每次都是从入门到放弃。没有时间也没有能力搭出一个具有规模的网站。
一年之后,因缘际会下,我接触了当时正火红的 Ruby on Rails 技术。这门技术的主打卖点就是可以五分钟开发搭建出一个 blog 网站程式。我试了一下,果然是这样。
我想,这就是我要的东西。
以往的问题在于,网站程式的内容实在太过复杂,我实在没有能力没有精力写完。
于是我一口气买了市面上所有 Ruby on Rails 的教学书籍,投注了大量时间学习怎么做网站程式。
真的被我摸索出来了。
凭藉只学两周的三角猫功夫,我搭出了人生第一个大型网站 “VeryXD”。这个网站只有一小组简单的价值。
就是用户可以上传一张基底图,其他人可以在基底图上加上一些恶搞的文字。分享在社交网路上。让社群二次改作。
这个网站,竟然引起当时台湾社群的轰动。并且被网路媒体与电视报导了。
当时,我这个三角猫的网站,网站点击率一天至少有 3-40 万。
这件事情大大鼓舞振作了我。我心想,我终于有办法实践我的梦想了。
于是我跟我一个比我年长十几岁的朋友说,我想辞职创业专心做网站。
我的朋友浇了我一头冷水。
他说创业并没有那么简单。我只是一头热而已。创业要考虑的其他事情还很多。先来说说,你代码了学多久?你懂赚钱吗?
我被他批驳的无话可说。是阿。我只是个初学者而已。连为这个网站加点进阶的功能,都十分费力。接下来要规划新的功能,我也没没有能力迭代。
我的确有很多不足。但我认为我当时最大的问题,就是我不是一个职业程序员,根本不懂怎么做产品。
我的确不该贸然去创业。比较靠谱的路,应该是加入一个网路公司,转职如何职业的做网站。
所以我加入了一间网路公司做网站。跟以前只是「下班业馀开发」不同,每天上班八个小时都是在写代码,加功能,改功能。
我很快的就学会了如何从 0 正规的设计架构,开发一个网站。
但很快的我却遇到了下一个问题。
当时所谓的「正规做产品」是公司会有负责的产品经理企划,一股脑的把他认为需要做的功能,整理成厚厚的规格。然后才交给技术部进行开发。
一个项目开发期间有九个月,光前期调查,就花了七个月的时间开会做规格,接著这份规格,再交给美术设计网站介面(设计画面也需要一个月的时间),程序员再根据网站介面设计后面的程式(留给程序员只有一个月的时间)。
这件事情造成程序员很大的痛苦。
- 开会实在花了非常多的时间。与不懂技术的产品经理开会简直是个折磨,当他们异想天开的在讨论一些根本不可能有人用,以及一些根本不可能做得到的功能时,你简直想杀了他们。
- 一段这么长的开发期,留给程序员开发的时间只有 1/9。根本作不完,即便刨掉一些明显没有用的功能,以及明显只是华丽不实际的过场特效后,还是写不完。更不用说测试了。原订上线日的东西,品质七零八落。连自己都汗颜。
- 上线后的状况与真实想像的非常不同。
- Bug 真的很多。使用者抱怨连连。
- 使用者使用完之后反馈很多,但回馈回来的意见,其改进方向简直是大反转,与当初 PM 搜集到规划的很不一样。让开发组不知道是要打掉重写,还是按照公司内部原订计画进行
- 这个网站上线之后没多久,就没有多少人用了。内部针对上线以来的反馈再次进行修正。又是三个月,漫长的 2.0 开发期。里面改进参杂著内部的改进计画与使用者的反馈计画。实做的程序员根本不知道这里面的哪些功能,是「对的改进」。在公司里面,程序员还最常被嫌弃「是不懂业务」的那一群人,只能乖乖闭嘴写。
然而,2.0 改版后,网站的人气并没有改善,而是就此「死了。。。。」
这个开发方法就是一般传统工程上的「瀑布式开发」。
作为一个程序员。实在很难接受几件事:
- 辛辛苦苦写出来的网站就这么死了
- 在开发过程中,难道不能高效点,一开始就整理出「简单且正确能够做的功能吗」?一边开会一边做吗?
- 程序员明明在开发过程中,应该是最懂网路界品味的一群人,为何在整个开发过程中,意见不被重视。只被视为是不该出声的工人?
应该还有更好的开发方法才对。
于是,后来我接触到了敏捷式开发。
敏捷式开发,强调我们不应该花上许多时间,讨论出一本厚厚的规格书才实做。应该采取另外一个角度「使用者故事」来切入。讨论有「哪些使用者」应该会在这个网站上「执行那些功能」。
围绕著这些真正需要的基本需求进行开发。一边开发一边迭代。可以降低许多开发上不必要的浪费,相对较为精准的做出真正需要的功能。
于是我一头栽入了敏捷式开发的世界。开发效率进行很大的提升。
与此同时,我也因为善于快速开发网站,得到晋升。得以升任集团的技术经理。负责带领团队公司项目。
敏捷式开发的确帮助很大。以往需要开发期六个月的项目,加速到两个月就写完了。减少了许多沟通以及开发成本。
我负责经营的网站流量也很高。一天可以达到 100 万 PV 以上。在台湾当时可以到达 Alexa 前 50 名。
但是我还是深深为一件事苦恼。网站不赚钱。
当时网站遇到遇到一件事。虽然功能开发迭代非常快。想到什么功能就可以很快的上线。但仅止于 1.0 版。
功能迭代上没有问题。业务迭代却有很大的问题。
- 业务提出来的产品创业假设可能是错的。于是我们只是很快的做了一个没有用的功能
- 对于真正商业世界的决策,我们身为程序员,的确没有能力去判断,需求是否存在。也不知道用户反馈的意见,是否真有参考价值。
但是我身为技术部主管,商业上来说。我是深深插不上手的。
这时候,我觉得技术开发上,我已经到达了一定的顶峰。(当时我有能力带领团队在一两个月之内,规划且准时上线公司需要的产品网站)
于是我觉得时候到了,也许我可以去尝试我自己的商业作品。
于是我提出了离职,往自行创业迈进。
我组建了一个小小的软件开发公司。业务有二:
- 帮客户代工开发商业网站
- 开发公司的软件产品
当时我们公司也创立了一个写作平台叫 “Logdown”。是一个程序员技术写作的博客平台。这个平台的开发速度也非常快,一个月就开发上线。并且取得程序员间的好评。
可惜,这个平台叫好不叫座。大家很愿意用这个平台写技术文章,但大家不愿意交会员费。做网站外包一边尝试自己的商业构想,其实是很辛苦的。而且,平台明确的也不太赚钱。
我认为,应该网路创业的技能应该还有什么是我不知道的。我们做出了好的产品。但商业上并不成功,也不知道如何成功的继续迭代,取得成长。但我观察到一件事:
硅谷的初创企业的创办人,有一些创办人并不懂如何写代码,有一些创办人则是只会写很简单的代码。但他们的企业却取得巨大的成功。
而我很懂写代码。似乎不应该这么失败才对。
甚至尤其是由 YCombinator 投资的初创公司,成功机率似乎特别大。
我想。这当中一定有一些创业上我所不知道的事。
因缘际会下。有一间硅谷由 YCombinator 投资的初创公司来台湾征才,并且招收 Rails 程序员。而且偷偷开始挖我公司的角。
我就在思考一件事。我现在的生意并不赚钱。同事跟著我这样也不是办法。不如我加入他们好了。
于是我把公司关了,带著八个程序员加入了他们的公司。并且成为了技术团队的最高主管。管著台美大约 20 人的技术团队。
我非常想知道硅谷的公司,在商业上成功的秘密。
在硅谷的这段期间,我观察到几个重点:
- YC 投资的公司,都具备强大的 Traction
- YC 系统的公司,都受过一定孵化器内的课程训练。
- 产品在一刚开始,一定是 Product Market Fit 的刚需。
- 硅谷产品非常强调:增长 Growth
在 2014 年,YC 也开源了他们的创业课程 CS183 B。我从当中吸收学到很多创业公司创办的宝贵精髓,一边学习一边实践。
而 Growth (增长)这门课题,硅谷甚至有一门专门的技术领域叫 Growth Hack,用技术作营销增长。
我在公司带领团队开发迭代时,也深深钻研这门技术,报了好几门课,钻研这个学门里面的奥秘。
我认为最后一块拼图就在这里了。
2015 年,在硅谷一年后。我回台湾创业。
这次一反我过去先写代码上线再创业的作法。决定想尝试 CS183B 教的作法。先测试市场需求,再打造产品。
而且。甚至这次不做软件产品。而是开设 Rails 学习班(是一个 PMF 的产品)。
再利用这个事业增长迭代。没想到获得没有想像过的巨大成功。每一期的学习班都爆满,我开设的技术课程,每一堂也往往是开放后,几分钟后位子就售罄。
这个事业,(除了教材课程本身外)我并没有写过一行的代码。业绩却一飞冲天。在这个事业的经营中,我找到增长的真正套路。
我开始对于我创办事业有了极强的信心。我应该找到了真正的公式。
- 如何找到正确的创业题目
- 如何正确的功能迭代,开发出使用者满意的产品
- 团队如何快速开发
- 如何高速增长。且迅速取得市场优势
2016 年,我前往中国发展。
前往中国其实对我来说是一个心理上很强大的挑战。中国的竟争非常激烈。往往是如果你有一个好的 idea,稍微做出一些 traction ,很可能就会瞬间冒出竞争对手抄袭。
所以要赢除了要做对方向。也要有办法快速迭代取得竞争的优势。
在中国,我后续做的这三个产品,的确如我想象的都取得很大的成功。
这两年,我运用我过去所学的快速技术开发流程以及增长技能,取得前所未有的成功。我开发的三个网路平台。屡屡打中几个风口,并且在短短时间在风口上迅速跌,增长速度前所未见。也在使用者圈内取得极高的服务好评口碑。
尤其是 OTCBTC 这个虚拟币交易所,(虚拟币交易所具备很高的技术门槛),开发上线时间仅仅 35 天。
一上线就取得巨大的成功,在三个月内甚至增长 300 倍。日交易额最高曾经达到 1 亿2千万人民币的纪录。
我想最终我真的找到了内心以来的答案。
开发出到一套创业产品开发流程方法。能够在残酷的创业世界屡屡胜仗。
这套方法,我们内部将之命名为「闪电式开发」,也是这本书里面主要讲述的内容。
最近几年,中国有一个一窝风现象。
头一年内,许多创业者一股脑做打车平台,O2O 平台,外卖平台,共享单车。一年过去后,满地鸡毛。
但是,这样的方式并不是没留下成果。大战之后留下几间王者,如滴滴打车,美团外卖,Mobike。
这些企业无非都是在一两年从 Product Market Fit,迭代厮杀走向了 D 轮,并且留下了最终胜利者。大大补强了社会基础建设。
很多人可能觉得这样的创业生态并不是很健康。但是,这是中国的独有现象。不是中国病态,而是这是基建好,开发者多,资本充足,会达成的终演化结果。
2018 年硅谷出了一本新书,叫闪电式扩张。作者是 Linkedin 的创办人 Reid Hoffman。指出了硅谷能成就大的软件企业,是有一套方法的。他从访问无数硅谷成功的软件公司高管与创办人中,找到了这套方法。
这套方法与方向并且有办法压缩加速平台成功的速度与机率。他将这套方法称为是闪电式扩张。
近年来,创业的成本与基础建设的提升,大大降低了创业失败率,网路效应也大大增高了平台服务扩展的速度。于是,中国的这个现象只是「闪电式扩张」最后的结果而已。
闪电式扩张分为三个阶段:
- 快速做出 Product Market Fit 的产品
- 投放到大渠道上,注重 Distribution
- 持续增长运营
不过,中国的「闪电式开发 Product Market Fit 产品」的方法,是资本大量投注燃烧的结果。
我在中国期间。听闻中国团队是这样做产品的。
- 融上大量资本。一次雇用三个团队。厮杀做产品。哪一个团队把产品开发出来,就解雇剩下两个团队。
- 产品好用的原因,是一次雇用大量程序员,开发了 100 个功能,然后上线前下架或扔掉 99 个功能。
这种财大气粗的玩法令人瞠舌。也是一般人无法做到的。
我是一般人。一路走来开发用的都是自己 bootstrap 的资金,在创办 OTCBTC 之前。团队成员甚至不超过 20 人。
然而,我们却用这样的精简人力,同样闪电式的做出成功的产品。而且一再用这种方法,取得同样的胜利。
身为创业者,每当看到同业走了大量的冤枉路。我总是很不忍心,这世界有许多才华洋溢的创作者程序员,他们的智慧成果推动了世界迭代前进。
然而创业这条道路上,真的是太多坑了。
我希望这套方法,帮助其他人更快的前进。其他人如果能更快速的前进,这个世界也能更快速的前进。
这是我写作这本书的初衷。