- A+
本文来自曹政大神的微信公众号【caoz的梦呓】,caoz的文章篇篇犀利,值得细读与收藏,特转载过来,分享给大家,如果你也喜欢,可以微信搜索“caoz的梦呓”来关注他。文章所有版权归原作者曹政所有!
其实我在知乎专栏讲过中国统计史,有兴趣的可以去翻一下,今天主要是吐槽,有些背景就简单一些。前几天和庞升东吃饭,还当面说了一下这个事情,不过说实话这事还是要感谢他,当时的合作让我开了眼界,对互联网的认识上了一个台阶。
背景
2004年是我比较苦逼的一年,辞去绿盟的工作后准备创业自己做点事情,但是一直做不起来,当时鼓捣一个破OA,(话说是我有史以来编码量最大的项目),但产品观烂得一塌糊涂,所以失败也就在所难免。 而原有的广告链的业务也江河日下,不改版还能维持,改版的时候犯了严重的错误,巨大的验证漏洞被黑客利用,导致一批核心用户流失,已经是无可挽回的局面。(说来惭愧,从绿盟出来,代码还到处都是安全隐患,真的是一段自己的黑历史)
这时候看到有人做统计融了资,开始想的还简单,想用统计服务来救活广告链业务,结果当然也救不活,但是发现统计系统不难做,当时跟一些草根站长合作,先后推出了tong123和 不错统计两个平台,一方面收集需求改进系统,一方面也加深了对这个市场的了解,然后庞升东找我,说想做个统计,买我的系统,那么我当时穷困潦倒,房贷都已经压力山大,自然一口承诺。 价格呢,其实真不多,当时卖程序脑子里都是按照工作量核算价格,想想要个2万多可以了。(代码量真没多少),网上开源的大把,人家凭啥花很多钱买我的系统啊。
但收了钱之后并没有立即开始,庞在搭建团队,而我在找工作,感谢俞军收留了我,让我进了百度。(八卦一下,当时个人第一选是雅虎,主要原因就一条,离家近。结果见了人家后一直没理我,后来过了俩月雅虎王航给我电话,问我有没有兴趣过去谈谈,我说对不起,已经百度入职了。 说来当时对行业的认识,对个人定位的认识都是糊涂的很,所以这也是为什么最近老跟小鲜肉说要开眼界的原因,那一年我都快30了,在自我定位和行业判断上还是彻头彻尾的菜鸟。 额外多说一句,这也是我佩服俞军敬他为老师的原因,他真正教我的东西实话说真不多,但是从他身上我才明白视野和自我定位有多重要。)
进百度没多久庞升东说统计可以开始了,此时身份已经是百度员工,向俞军汇报了一下,说这个事情是来公司入职前就答应人家的,俞军也就没说什么。这是2004年底的事情,2005年初 1tong统计 正式推出,迅速崛起,很快成为市场第一,但是实话说,当时的技术确实很烂,问题很多,稳定性也不是很好。 所以他们运营也是跟我抱怨多多,这个我倒可以理解,但是和他们技术沟通一直不是很顺畅,有些想做的升级也没有能执行下去。 那么具体的问题后面再讲。
05年下半年的时候,我把1tong的技术问题和一些解决方案(并不彻底,但是有用)整理了一下,做了一个新的版本,但是这个时候,我其实是给百度做的,当时和百度大客户部门聊过,然后也在内部申请了一台测试服务器,希望公司考核一下,结果主管的考核结果是,产品不如市面的商业产品,我觉得有两个问题必须说明一下,第一,我不太会做前端,有些功能需要js代码的一些处理,以及商业定义方式需要明确,我做的不够到位,但这类问题解决成本极低,配一个前端和明确的需求定义两天就可以搞定。 第二,界面视图我肯定做不来,所以展示的都是数字列表,没有好看的图表,这两点肯定比不了市面的商业产品。但以此否决产品,我个人认为是不服气的。 那么不服气的结果是,我希望用事实证明我的新系统没问题,于是选择了和阿飞合作,然后就有了CNZZ。(另外,跟阿飞合作前,有老百度拖口信给我要买我的系统,我直接表达说,google和与google合作的公司免谈,这也是当时身在百度的一种底线吧)。 05年下半年百度股票的价值已经体现出来了,我的身价和04年相比可以说是有了飞跃。和阿飞合作的目的,已经不是因为钱多钱少(只收了很少的钱),而是真的有一点不服气的成分在里面。那么为什么没有和庞升东继续合作我的新系统?这也是我今天特别要吐槽的地方,下面我会明白的讲。很感谢阿飞,证明了这个系统可行,也让我有更多对行业的认识和理解。
所以今天我敢讲说我在百度在职的时候搞了CNZZ,并不觉得有什么对不起百度的地方,因为当时给上司演示的时候直接被否决了,我个人对公司问心无愧。说来好玩的是,n年后百度某些人以合作为名请当时cnzz的负责人强姐去讲产品谈合作,讲完之后百度没有和cnzz合作而是闷头搞了百度统计,我就说一点,你直接让我去讲不好么,我代码都给你,真的,干嘛要这么周折呢。
问题
回到04年底,05年初,1tong的技术负责人吐槽说技术有缺陷,bug很多,稳定性有问题,说的对不对呢?说的挺对的,其实特别惭愧,那时候确实水平有限,很多问题考虑的不够全面,很多校验和判断都没做到位,容错性也不够强。所以,如果我非要说自己没问题,是不对的。
但是面对问题的态度和处理思路,就体现出了差异。
实际上,1tong换了三个还是四个技术负责人,每个人都抱怨我的代码很烂,然后就想着自己重搞一套,但是,他们没有人认真的去看我的代码,去分析系统,甚至懒得看我写的建议和升级方案,他们指出问题我也是很羞愧的,当然也想改好,但毕竟是别人的系统了,我也只能把我理解的写成文档,告诉他们我的设计思路是什么,目前存在的问题大概在哪几个领域,修改和升级的建议 是什么,但是这些,都石沉大海,从来没有人认真看一眼。这是为什么我重做了一套系统的原因(改动量确实不小),因为他们不改,我只有自己改,他们不接纳我的修改建议,我只有找其他人。
直到1tong卖给了互动通和太极榜合并,新的技术人员来接手,我想好人做到底,交接的时候我还是帮他们一把吧(按说他们自己交接,但这个系统居然还是只有我能讲)。接手的人过来还是上来先强调他们系统的数据仓库多先进。太极榜最初的几个开发设计人员我都挺熟的,在2000年刚推出的时候确实是最先进的,也曾经是市场王者,但是到了2005年,请问,如此先进,怎么就没市场表现呢?当时我又苦口婆心的把CNZZ的升级方案原封不动的给了他讲了一遍,然而人家只是在强调,他们技术更牛逼。于是后面也只好呵呵了。
熟悉我的朋友都知道,我是挺愿意分享的一个人,只要他们愿意,我可以把系统从头给他们讲到尾。把问题和思考方法讲清楚,他们揪我问题的时候,就没一个人真正思考一下,这个“烂”系统的设计思路到底是什么,为什么他们认为这么“烂”的一个系统市场表现超越了所有开源的东西? 他们运营认为是自己运营能力卓越才会让烂系统发挥了最大的价值。
直到CNZZ轻松超越成为新的市场第一的时候,不知道这些人有没有想过,原来他们的运营优势,没有自己想的那么大。
其实很长时间,我也郁闷,我的代码是不是特别难懂,系统是不是特别别扭,以至于换了几茬人,都没人能理解设计思路,能改的动我的代码,直到跟阿飞合作,突然之间郁闷顿失。
今天我们知道,阿飞,姚剑军,香港上市公司飞鱼科技董事长,成功的草根创业者。我相信你给他帖多少标签,都不会有“技术高手”这样一个标签,对不对。
阿飞以前做过技术,但并不以技术擅长,更不是技术科班出身,然而,这样一个草根站长,居然!看懂了我的代码!而且!改得很顺畅!
后来我就问过这个事情,我发现这里最大的问题,也是今天这篇分享要强调的一点就是,你接手这个东西的目的是什么。
很多打工的技术人员,接手一个产品,一个代码,一个系统,首先想到的是自己的价值在哪里,以及如何证明自己的水平。所以,最好的方式是另起一套,自己做架构,自己做设计,这才是他们可以在公司里彰显价值的做法。
阿飞当时就是个站长,是个创业者,他很清楚自己的目的是什么,这个东西拿来能不能用最低成本发挥最大的价值,如果符合就是好的,不符合就是不好的。从这个角度讲,只要系统基本结构上没有大问题。(性能和负载支撑性很好,可以吃住量,当时就是这个系统最大的立足之本),其他问题,当然是小修小补。所以后来,我不能说我提供的代码有多好,但是合作的很愉快,因为他提出的问题我们可以一起去研究,分析,找到方案可以马上推进修改,你说问题多不多,实话说还是很多,但是一直在不断前进修补,而且我还很乐意做一些额外的功能升级。直到07年阿飞转让了这个系统,新的团队接手,不知情的我还提交了一个版本升级的计划,结果发现新的团队已经重构系统了,这才作罢。
从05年到07年,cnzz负责处理核心代码的,只有两个程序员,我和阿飞。
当时看cnzz的代码,阿飞是一边自学php一边看的。 他能看得懂,看不懂的也会过来问,而一些专业吃技术饭的却只会抱怨,从来不试图去看懂和理解代码及设计思路,其中区别,大家体会一下。
这篇文章,希望更多技术人员反思一下。
我又要重复那个面试中经常遇到的场景
很多技术人员都说做过discuz 的二次开发,我问他们对discuz的印象,各种吐槽,各种问题,说的都很有道理,但是discuz做的好的地方,他们大多看不见。
我就问几个discuz做的好的一些细节,基本上没有人回答的出设计思路是什么。他们只会抱怨说discuz做的很烂,所以他们要改。