从程序员的角度谈创业三年
关于决定是否创业
2012年4月,正好三年前整,在深圳能源正混的郁郁不得志的时候,大学的好兄弟找到我一起创业,他们有钱、有 idea,就是差人,当时的我还是技术菜鸟,本科学的也不是计算机,看着移动互联网蓬勃的发展羡慕不已。很快就答应了一起干,因为心里想着就算创业失败了,那也学到了技术,也不愁再去找工作。现在回想起来觉得太鲁莽了些,抱着这样的想法的程序员应该不止我一个,每个人的生活条件和家庭背景不同,对与错得由你自己来评判。
关于股份如何分配
成功的企业大多是相似的,而失败的初创公司最大可能是股权分配不合理,我们的核心团队成员最开始有四个人,Team Leader 在股份分配的问题上的意见是四人平均分,换取他掌握公司话语权。当时大家就都表示了异议,激烈的争吵了几天,谁也说服不了谁,最后不了了之,这也为后来的分崩离析埋下了伏笔。试想下,假如你确实牛逼,大家敬你服你不就完了吗,又何须用股份来换取决策权。大家能力不同,那么股份平分的缺点是什么呢?创业是一个漫长的过程,每个人付出的时间、精力和成本一定会有差异。如果不设立股权池浮动分配机制,那么问题就来了,拿着四分之一股份的 Team Leader 觉得自己太累了,事必躬亲,心里不平衡就开始内斗了,因为我算是比较"听话和能干",他先后挤走了所有的核心团队成员,唯独剩下了我。关于如何科学分配创始人团队间的股份,以及拿出多少股份期权池用来激励员工的问题,我这里不分析,我只讲我的经历,能不能学到什么,那就要看你了。
关于融资的问题
大多数的初创公司是很难拿到天使和风险投资的钱的,没钱该如何创业,自己出钱、众筹、做外包... 这是八仙过海各显神通的事情,我们公司算是比较幸运的,这点必须承认。Team Leader 在软件行业混了十几年,有一些人脉和资源,从创立初始就有天使和风投愿意提供大笔的启动资金,后来我从深圳回武汉,也带来了深创投的天使。可惜这些投资人通通被 Team Leader 拒绝了,理由是不缺钱。
没错,直到我现在离开了,公司也不缺钱,但是雪中送炭者少锦上添花者多,等到需要钱的时候再去找天使和风投就晚了,要么被迫签了城下之盟,要么被迫拿出了大量的股份。有了钱就能提供更好的办公环境、更好的待遇吸引优秀的员工等等好处无须赘述,而且投资人的能量往往大多远远不仅于此,他能站在不同的角度和高度看问题,他也是为你争取更大的风险资本加入的先行者和中介人。换个角度想,你拿天使和风投多一分钱,就等同于减少了潜在的竞争对手一分钱,所以在不需要钱的时候一定要多拿钱。不要舍不得出让一点你手中的股份,当创业不成功的时候,你拿着 100% 的股份也是废纸。
关于产品是做到极致,还是快速迭代,还是同时做多个产品
第 一款产品最初是做全平台的商业视频会议系统,是一款背离时代潮流的产品,我也不知道他为什么会有这样的决定。也许当时 Team Leader 是这么理解的,全国都在如火如荼的搞 App 开发,我们反其道而行之,这样就完全没有竞争对手。可是当快速产品原型出来以后,基本上没人搭理我们,无论是投资人还是客户,因为这玩意儿太扯淡了,而服务器端开发和运营成本高的惊人,根本就不是一般初创公司能够承受的了的,项目还未正式上线就搁浅了,没有认真的市场调研,没有进行技术和经济可行性的研究,甚至连潜在客户的需求都没有咨询过,就这样盲目的做了大半年开发,现在想来简直不可思议。
第二款产品是 Google Reader 宣布关闭后诞生的想法,可以理解为站在了互联网的风口,放眼全球几乎没什么大的竞争对手,因为 RSS 资讯和文献的受众用户相对小而精,有一批忠实的粉丝,但大公司又刚好瞧不上,正适合小公司一展所长,投资人也特别亲睐。这是一次极好的机会,天时地利人和,谁能尽快推出产品,就能如同秋风扫落叶般占领市场,结果由于 Team Leader 一直秉持的做到极致的做事态度,写第一代产品的代码,版本控制都已经设想到第五代如何更新和扩展了,一而再再而三的增加功能,他负责的开发客户端迟迟无法按时交付,最后产品倒是极致了,可是错过了上架的最好时机,又有什么用?
其实对于创业来说,哪一种模式都有成功的例子,但都是不可生搬硬套的,谁也不能够肯定自己的产品策略和切入点是正确的,这些都需要大量的探索和验证,当发现走了错路,必须要有壮士断腕的勇气,坚决砍掉错误功能或产品。我不是产品人,也没有花里胡哨、乱七八糟的想法,我只赞成最稳妥、最有概率成功的方式。专注于一款产品,尽快的推向市场,然后根据少部分用户的反馈,修改服务或增加功能,最后借助投资人的资金和人脉做大肆营销和推广,这就是我最认可的方式。
关于如何选择开发人员和技术
这是大多数创业者不会说的话,大家都爱说实现不成问题,说这话的人我特别反感,人类文明文化发展迄今已五千多年,如何快速、高效、经济和安全的实现一项工程是一门艺术,不是光有学问就可以的,今天的科学家们在工程实践项目上的研究停滞不前了吗?精益求精,实现恰恰是最大的问题。
我们的 Team Leader 算的上技术大牛,从美工出身后来转到 Adobe Flex 系列程序员,也懂服务器端的开发,算得上全栈程序员,精通软件设计与架构,这些都是优点。主要的缺点有两个,一是偏执,二是固步自封,也算是乔帮主极品粉丝的通病,我只是就是论事,并非要挑起帮主粉丝的骂战或者编程语言之间的战争,如有冒犯请原谅。Adobe 近年在程序界的一天比一天颓败,Flex 也早已过时了,结果 Team Leader 却坚持选用 Air 虚拟机 + AS3 + MXML + CSS 的模式开发客户端,理由是熟悉且跨平台。我承认转战其他平台学习需要成本,但早期的 Air 虚拟机的性能简直惨不忍睹,就算是今天也是远不如 Java 虚拟机的,更不要说跟 Mono 或者 V8 引擎相比,更加不要说跟 Native App 的性能相比。最糟糕的不止如此,Adobe 不开源代码,扔个半死不活的 Air 虚拟机出来后,后续的优化和更新非常缓慢,稍微复杂一点的功能都要自己重写代码,大大加重了开发任务,再加上 Team Leader 对于产品的高标准严要求,更是使代码量成几何级数上涨,雪上加霜。
说到这里不得不举个例子,由于一直被客户端的开发拖着进度,我们服务器端的开发团队和设计师甚至抽空出来,做了好几个外包的 HTML5 网站和游戏。等到产品上架时,整个团队人心都涣散了。