Skip to content

Latest commit

 

History

History
249 lines (135 loc) · 15.6 KB

00.md

File metadata and controls

249 lines (135 loc) · 15.6 KB

自序

1998 年,我 15 岁。在高中时第一次接触到 BBS(电子布告栏)。那时候 WWW 还没有兴起。校内的学生的交流都是透过 BBS 电子布告栏交流连结。

因缘际会下,我成了校内 BBS 的技术站长,假日的消遣,就是上线功能(那时候还不懂开发,只懂得修改部分代码创造小功能)与负责站务运营。(当时并不懂如何从头打造)上线开发能够改变社群的功能,以及参与站内互动,这件事深深让我著迷。

我原本的人生轨迹并不是成为一个工程师。但是这件事深深影响了我。在此之后,我人生的愿望就变成了希望未来成为一个工程师,创办一个许多人用的平台服务。

人生梦想归人生梦想,实现归实现。我大学念了应用数学系,但程式开发功力并没有太大长进。

我以为在大学里面修计算机的课,会让我程式功力有长进。然而我学会了编程 ( C / JAVA ) ,但是却还是造不出「平台网站」。

五分钟搭建一个平台

2006 年大学职场毕业。国外兴起平台创业潮,我也很心动。但是我不具备技术能力,自学了一门 PHP 语言。却发现我虽然有能力写部分的单页网页程式,却还是不知道怎么打造「一个平台」。

这件事主要对我的困难点在于:

  1. 我并不知道「网站」是怎么被架构设计出来的
  2. 我的耐心与有空的时间不够多。每次都是从入门到放弃。没有时间也没有能力搭出一个具有规模的网站。

一年之后,因缘际会下,我接触了当时正火红的 Ruby on Rails 技术。这门技术的主打卖点就是可以五分钟开发搭建出一个 blog 网站程式。我试了一下,果然是这样。

我想,这就是我要的东西。

以往的问题在于,网站程式的内容实在太过复杂,我实在没有能力没有精力写完。

于是我一口气买了市面上所有 Ruby on Rails 的教学书籍,投注了大量时间学习怎么做网站程式。

真的被我摸索出来了。

凭藉只学两周的三角猫功夫,我搭出了人生第一个大型网站 “VeryXD”。这个网站只有一小组简单的价值。

就是用户可以上传一张基底图,其他人可以在基底图上加上一些恶搞的文字。分享在社交网路上。让社群二次改作。

这个网站,竟然引起当时台湾社群的轰动。并且被网路媒体与电视报导了。

当时,我这个三角猫的网站,网站点击率一天至少有 3-40 万。

这件事情大大鼓舞振作了我。我心想,我终于有办法实践我的梦想了。

创业不是那么简单:我连正规开发都不懂

于是我跟我一个比我年长十几岁的朋友说,我想辞职创业专心做网站。

我的朋友浇了我一头冷水。

他说创业并没有那么简单。我只是一头热而已。创业要考虑的其他事情还很多。先来说说,你代码了学多久?你懂赚钱吗?

我被他批驳的无话可说。是阿。我只是个初学者而已。连为这个网站加点进阶的功能,都十分费力。接下来要规划新的功能,我也没没有能力迭代。

我的确有很多不足。但我认为我当时最大的问题,就是我不是一个职业程序员,根本不懂怎么做产品。

我的确不该贸然去创业。比较靠谱的路,应该是加入一个网路公司,转职如何职业的做网站。

所以我加入了一间网路公司做网站。跟以前只是「下班业馀开发」不同,每天上班八个小时都是在写代码,加功能,改功能。

我很快的就学会了如何从 0 正规的设计架构,开发一个网站。

「正规」的开发方法,费时又做不出好产品

但很快的我却遇到了下一个问题。

当时所谓的「正规做产品」是公司会有负责的产品经理企划,一股脑的把他认为需要做的功能,整理成厚厚的规格。然后才交给技术部进行开发。

一个项目开发期间有九个月,光前期调查,就花了七个月的时间开会做规格,接著这份规格,再交给美术设计网站介面(设计画面也需要一个月的时间),程序员再根据网站介面设计后面的程式(留给程序员只有一个月的时间)。

这件事情造成程序员很大的痛苦。

  1. 开会实在花了非常多的时间。与不懂技术的产品经理开会简直是个折磨,当他们异想天开的在讨论一些根本不可能有人用,以及一些根本不可能做得到的功能时,你简直想杀了他们。
  2. 一段这么长的开发期,留给程序员开发的时间只有 1/9。根本作不完,即便刨掉一些明显没有用的功能,以及明显只是华丽不实际的过场特效后,还是写不完。更不用说测试了。原订上线日的东西,品质七零八落。连自己都汗颜。
  3. 上线后的状况与真实想像的非常不同。
    • Bug 真的很多。使用者抱怨连连。
    • 使用者使用完之后反馈很多,但回馈回来的意见,其改进方向简直是大反转,与当初 PM 搜集到规划的很不一样。让开发组不知道是要打掉重写,还是按照公司内部原订计画进行
  4. 这个网站上线之后没多久,就没有多少人用了。内部针对上线以来的反馈再次进行修正。又是三个月,漫长的 2.0 开发期。里面改进参杂著内部的改进计画与使用者的反馈计画。实做的程序员根本不知道这里面的哪些功能,是「对的改进」。在公司里面,程序员还最常被嫌弃「是不懂业务」的那一群人,只能乖乖闭嘴写。

然而,2.0 改版后,网站的人气并没有改善,而是就此「死了。。。。」

这个开发方法就是一般传统工程上的「瀑布式开发」。

敏捷式开发

作为一个程序员。实在很难接受几件事:

  • 辛辛苦苦写出来的网站就这么死了
  • 在开发过程中,难道不能高效点,一开始就整理出「简单且正确能够做的功能吗」?一边开会一边做吗?
  • 程序员明明在开发过程中,应该是最懂网路界品味的一群人,为何在整个开发过程中,意见不被重视。只被视为是不该出声的工人?

应该还有更好的开发方法才对。

于是,后来我接触到了敏捷式开发。

敏捷式开发,强调我们不应该花上许多时间,讨论出一本厚厚的规格书才实做。应该采取另外一个角度「使用者故事」来切入。讨论有「哪些使用者」应该会在这个网站上「执行那些功能」。

围绕著这些真正需要的基本需求进行开发。一边开发一边迭代。可以降低许多开发上不必要的浪费,相对较为精准的做出真正需要的功能。

于是我一头栽入了敏捷式开发的世界。开发效率进行很大的提升。

与此同时,我也因为善于快速开发网站,得到晋升。得以升任集团的技术经理。负责带领团队公司项目。

敏捷式开发的确帮助很大。以往需要开发期六个月的项目,加速到两个月就写完了。减少了许多沟通以及开发成本。

我负责经营的网站流量也很高。一天可以达到 100 万 PV 以上。在台湾当时可以到达 Alexa 前 50 名。

但是我还是深深为一件事苦恼。网站不赚钱。

网站赚不赚钱与是不是敏捷开发,并没有关系

当时网站遇到遇到一件事。虽然功能开发迭代非常快。想到什么功能就可以很快的上线。但仅止于 1.0 版。

功能迭代上没有问题。业务迭代却有很大的问题。

  1. 业务提出来的产品创业假设可能是错的。于是我们只是很快的做了一个没有用的功能
  2. 对于真正商业世界的决策,我们身为程序员,的确没有能力去判断,需求是否存在。也不知道用户反馈的意见,是否真有参考价值。

但是我身为技术部主管,商业上来说。我是深深插不上手的。

这时候,我觉得技术开发上,我已经到达了一定的顶峰。(当时我有能力带领团队在一两个月之内,规划且准时上线公司需要的产品网站)

于是我觉得时候到了,也许我可以去尝试我自己的商业作品。

于是我提出了离职,往自行创业迈进。

我组建了一个小小的软件开发公司。业务有二:

  1. 帮客户代工开发商业网站
  2. 开发公司的软件产品

当时我们公司也创立了一个写作平台叫 “Logdown”。是一个程序员技术写作的博客平台。这个平台的开发速度也非常快,一个月就开发上线。并且取得程序员间的好评。

可惜,这个平台叫好不叫座。大家很愿意用这个平台写技术文章,但大家不愿意交会员费。做网站外包一边尝试自己的商业构想,其实是很辛苦的。而且,平台明确的也不太赚钱。

我认为,应该网路创业的技能应该还有什么是我不知道的。我们做出了好的产品。但商业上并不成功,也不知道如何成功的继续迭代,取得成长。但我观察到一件事:

硅谷的初创企业的创办人,有一些创办人并不懂如何写代码,有一些创办人则是只会写很简单的代码。但他们的企业却取得巨大的成功。

而我很懂写代码。似乎不应该这么失败才对。

甚至尤其是由 YCombinator 投资的初创公司,成功机率似乎特别大。

我想。这当中一定有一些创业上我所不知道的事。

网路创业不只是要把产品做出来,还得懂需求与增长

因缘际会下。有一间硅谷由 YCombinator 投资的初创公司来台湾征才,并且招收 Rails 程序员。而且偷偷开始挖我公司的角。

我就在思考一件事。我现在的生意并不赚钱。同事跟著我这样也不是办法。不如我加入他们好了。

于是我把公司关了,带著八个程序员加入了他们的公司。并且成为了技术团队的最高主管。管著台美大约 20 人的技术团队。

我非常想知道硅谷的公司,在商业上成功的秘密。

在硅谷的这段期间,我观察到几个重点:

  1. YC 投资的公司,都具备强大的 Traction
  2. YC 系统的公司,都受过一定孵化器内的课程训练。
  3. 产品在一刚开始,一定是 Product Market Fit 的刚需。
  4. 硅谷产品非常强调:增长 Growth

在 2014 年,YC 也开源了他们的创业课程 CS183 B。我从当中吸收学到很多创业公司创办的宝贵精髓,一边学习一边实践。

而 Growth (增长)这门课题,硅谷甚至有一门专门的技术领域叫 Growth Hack,用技术作营销增长。

我在公司带领团队开发迭代时,也深深钻研这门技术,报了好几门课,钻研这个学门里面的奥秘。

我认为最后一块拼图就在这里了。

回台湾创业

2015 年,在硅谷一年后。我回台湾创业。

这次一反我过去先写代码上线再创业的作法。决定想尝试 CS183B 教的作法。先测试市场需求,再打造产品。

而且。甚至这次不做软件产品。而是开设 Rails 学习班(是一个 PMF 的产品)。

再利用这个事业增长迭代。没想到获得没有想像过的巨大成功。每一期的学习班都爆满,我开设的技术课程,每一堂也往往是开放后,几分钟后位子就售罄。

这个事业,(除了教材课程本身外)我并没有写过一行的代码。业绩却一飞冲天。在这个事业的经营中,我找到增长的真正套路。

我开始对于我创办事业有了极强的信心。我应该找到了真正的公式。

  1. 如何找到正确的创业题目
  2. 如何正确的功能迭代,开发出使用者满意的产品
  3. 团队如何快速开发
  4. 如何高速增长。且迅速取得市场优势

2016 年,我前往中国发展。

前往中国其实对我来说是一个心理上很强大的挑战。中国的竟争非常激烈。往往是如果你有一个好的 idea,稍微做出一些 traction ,很可能就会瞬间冒出竞争对手抄袭。

所以要赢除了要做对方向。也要有办法快速迭代取得竞争的优势。

在中国,我后续做的这三个产品,的确如我想象的都取得很大的成功。

这两年,我运用我过去所学的快速技术开发流程以及增长技能,取得前所未有的成功。我开发的三个网路平台。屡屡打中几个风口,并且在短短时间在风口上迅速跌,增长速度前所未见。也在使用者圈内取得极高的服务好评口碑。

尤其是 OTCBTC 这个虚拟币交易所,(虚拟币交易所具备很高的技术门槛),开发上线时间仅仅 35 天。

一上线就取得巨大的成功,在三个月内甚至增长 300 倍。日交易额最高曾经达到 1 亿2千万人民币的纪录。

我想最终我真的找到了内心以来的答案。

开发出到一套创业产品开发流程方法。能够在残酷的创业世界屡屡胜仗。

这套方法,我们内部将之命名为「闪电式开发」,也是这本书里面主要讲述的内容。

闪电式开发

最近几年,中国有一个一窝风现象。

头一年内,许多创业者一股脑做打车平台,O2O 平台,外卖平台,共享单车。一年过去后,满地鸡毛。

但是,这样的方式并不是没留下成果。大战之后留下几间王者,如滴滴打车,美团外卖,Mobike。

这些企业无非都是在一两年从 Product Market Fit,迭代厮杀走向了 D 轮,并且留下了最终胜利者。大大补强了社会基础建设。

很多人可能觉得这样的创业生态并不是很健康。但是,这是中国的独有现象。不是中国病态,而是这是基建好,开发者多,资本充足,会达成的终演化结果。

2018 年硅谷出了一本新书,叫闪电式扩张。作者是 Linkedin 的创办人 Reid Hoffman。指出了硅谷能成就大的软件企业,是有一套方法的。他从访问无数硅谷成功的软件公司高管与创办人中,找到了这套方法。

这套方法与方向并且有办法压缩加速平台成功的速度与机率。他将这套方法称为是闪电式扩张。

近年来,创业的成本与基础建设的提升,大大降低了创业失败率,网路效应也大大增高了平台服务扩展的速度。于是,中国的这个现象只是「闪电式扩张」最后的结果而已。

闪电式扩张分为三个阶段:

  1. 快速做出 Product Market Fit 的产品
  2. 投放到大渠道上,注重 Distribution
  3. 持续增长运营

不过,中国的「闪电式开发 Product Market Fit 产品」的方法,是资本大量投注燃烧的结果。

我在中国期间。听闻中国团队是这样做产品的。

  1. 融上大量资本。一次雇用三个团队。厮杀做产品。哪一个团队把产品开发出来,就解雇剩下两个团队。
  2. 产品好用的原因,是一次雇用大量程序员,开发了 100 个功能,然后上线前下架或扔掉 99 个功能。

这种财大气粗的玩法令人瞠舌。也是一般人无法做到的。

我是一般人。一路走来开发用的都是自己 bootstrap 的资金,在创办 OTCBTC 之前。团队成员甚至不超过 20 人。

然而,我们却用这样的精简人力,同样闪电式的做出成功的产品。而且一再用这种方法,取得同样的胜利。

身为创业者,每当看到同业走了大量的冤枉路。我总是很不忍心,这世界有许多才华洋溢的创作者程序员,他们的智慧成果推动了世界迭代前进。

然而创业这条道路上,真的是太多坑了。

我希望这套方法,帮助其他人更快的前进。其他人如果能更快速的前进,这个世界也能更快速的前进。

这是我写作这本书的初衷。