贝壳做程序员到现在,没去过国企(好吧,和他们有过合作,可实在看不惯他们的作派,死也不去),没去过外企(也是有合作,可惜英语太差),全在各种私企里面打转。从初创公司到中型外包都呆过,还曾是某初创公司的第一个员工,可惜结局不怎么好——关门了。初创公司的一些问题,可谓前仆后继,大家的死法差不多。当员工时,不好给老板直接提意见。现在私下里偷偷说说,有想开公司的当故事听吧。

初创公司第一怕,就是没有经验。没有经验的程序员,没有经验的经理,所以很多事情都不知道怎么办,只能摸着石头过河。实话说,完全摸石头的,还不如不开了。最起码最起码,老板做什么,就必须熟悉这行。想干互联网,必须熟悉互联网。想干企业,就必须熟悉企业。没这个要求,不如不干。至于技术上没经验,可以找合适的程序员。如果老板熟悉互联网,很多做阿里巴巴阿,做腾讯之类的傻话都不会说出来了,他要做的一定是个没有的东西,或者说在中国没有,或者有,但是市场刚要起步。在一个饱和市场内挑战一个巨头,这和唐吉柯德挑战风车是一样的,能得到的只是海明威笔下的鱼骨头。

初创公司没有人熟悉技术怎么办?这就要看你的公司类型了。如果你决定以业务为核心,可以找个诚实可靠(别说看人看不准,如果人看不准,公司哪里都会碰壁)有经验的程序员做主管,记得谈分红或者股份,然后放手给他。他会帮你管理的很好的。不过记得偶尔就他的做法咨询一下其他懂行的朋友。通常这类程序员最好是来自于大型企业IT部或者大型互联网公司,他们会把大型互联网公司的规范带过来。当然,也不要无条件的接受。先文档后程序,重测试轻代码之类的东西对初创是不适用的。起码要等公司有10来个程序员再回头补课。这些人构成的程序部是写不出什么天才程序的,但是可以有效廉价的把你要做的业务做起来。

如果你决定以技术为核心(实话说,中国这种公司比例不高),你起码得有一个高手在手里,才能谈公司的问题。而且公司开起来,你得分给他很高比例的股份。大部分这类创业老板,都是自己就是高级程序员,觉得挺了解程序了。这种情况下的建议反过来,你要找熟悉市场的人,不要觉得你很熟悉市场。程序员不是一个典型用户,除非你的用户都是程序员,否则大部分的需求需要重新考虑,甚至商业模式都未必成立。

初创公司最怕的情况,就是老板不懂技术,也不找人,胡乱指挥。贝壳呆的头家公司,现在已经关门了,所以说说问题也不大。老板决定做销售管理软件,实话说这个决定没什么问题,问题是老板的生产过程。他先找了三个程序员过来(两个新手一个老手,贝壳就是第一个员工,当时年轻,什么都不懂),然后请一个大学教授当顾问。由于大学老师都比较忙,因此他让其中一个比较有经验的程序员负责平时管理,不过还是按照员工待遇。然后他开始做需求,结果时间太少,需求做半本就开始做程序。一下就犯了大忌,需求未系统化。老程序员心知肚明,可是能说什么呢?自己连合伙人都不是,根本说不动老板。

然后制定计划的时候,老程序员制定了一个相对保守的计划——这是当然,因为只有一个老程序员和两个新手,他怎么也不敢激进阿。老板当场否决,把时间提前了两个月,变成三个月完成,并且承诺会加派招程序员。又是一个大忌,拍脑袋决定周期,也没有标杆事件控制。当天我就看到老程序员白着脸进去黑着脸出来,然后很郁闷的修改时间。不过后面的事情好玩的很,程序员来一个走一个,基本留不住人。现在想起来,当时工资实在太低了。工资低是有理由的,贝壳当时基本什么都不会,光学SSH就学了一个多月——还基本不大会用。

做产品的时候,考虑使用数据库,一下子居然挑中了oracle。现在反观,我也不知道怎么做的决策。用oracle做互联网的公司,目前为止我还没听说过第二家,因为oracle的长处在于事务和稳定性,而不是性能。由于维护麻烦,因此也没有买oracle自己的授权,而是第三方公司卖的5W的版本。就贝壳后来所知,oracle从未有这个级别的版本,他们的产品都是20W一个CPU,可以支持25个同步连接来卖的。天知道这个所谓第三方公司是怎么回事。由于配置麻烦(当时还是8),因此抽调我过去处理oracle的安装问题。贝壳就花了一个多月,把linux和oracle安装学了一遍。不过这一来,一个多月贝壳就基本没怎么写代码。一个初创公司一个员工一个月不写代码,可谓是很无谓的损失了。

更夸张的是,由于老板考虑部署的时候,立足点都是——用户太多怎么办,压根没考虑过没用户的问题。所以他开始就自己买机器进行IDC部署。偏偏普通服务器他又觉得太贵,所以还自己装服务器。贝壳再跑了好几次电脑城,买服务器装。虽然采购还是按照采购流程走的,但是又大概一周不干程序。服务器终于全部搞定上线了,贝壳大概一个月花掉了。几个月过去,老板发现进度跟不上计划,就先推迟了发布计划,然后找大家紧急开会。结论是,他加速做需求,我们加班搞定代码。可是有用么?完全没用。下面几个月糊里糊涂,贝壳都不记得自己做了点啥了。发布计划一推再推,贝壳一点信心都没有,就辞职走人了。

后来听说,在长达一年多的开发后,他们还是搞定了系统,并且正式上线销售。但是只有几个客户愿意付钱。坚持了一段时间,老板看实在赚不到钱,只有关门走人。

回顾整个里面的问题,关键是外行领导内行。做顾问的教授是内行,但不是搞互联网的,又没时间。老程序员名义上是经理,却不能否决提议。实际上是最不懂互联网的老板自己在做决策,导致最关键的几个问题上,压根没有发现决策是错的。次之的问题,是为了省钱而浪费时间。程序员出价太低,招的都是新手。买oracle舍不得买原厂带服务的,非要自己搞。服务器都不买现成的,自己组装。这里面能节约的时间,绝对不是花钱能买到的。里面还有什么老板策划需求拍脑袋,听风就是雨,甚至要求我们做一个子功能,叫做"中国地图在线”之类的小事就不提了。

虽说不想埋怨老板,不过贝壳确实在那家公司浪费了生命中的八个月,除了自学linux和oracle安装外没有剩下任何有用的技能。现在这段事情也被贝壳当作一个教训,很多事情不是看起来好就好的,如果事情看起来不靠谱,早点割肉退出不失为一个好的方案。