轮子
在公司有个奇怪的现象,凡事都自己搞一套,就是造轮子:开发难用又落伍的web框架,制定私有的xml格式传输数据(tag名一眼就能让人看出是个c程序 员设计的及其精简的变量名),自己编制http server(老实说编写者自己都不知道http server到底是个啥概念,甚至都可能没看过http协议,返回xml数据,content-type都没有),编写自己http client类库,etc…如此这般,诸如此类,如有雷同,不是巧合。 当然这其中有些是可以理解的,“历史问题”嘛,但是大家仍然继续使用这些不但降低开发效率,难用,bug丛生的“产品”,原因是什么?有人给出答案,为了 统一,为了节省维护成本,为了安逸,为了不必要的风险,但是亲爱的,你有没有想过,作为一名开发人员,开发效率如此低下,是多么痛苦,你说搞计算机的人, 都懒得要命,没有好的工具,怎么干活。管理者为了增加开发产出,只有像数据库的水平扩展一样,不断的通过招聘新员工来解决问题。这就是问题,我认为机器/ 技术能解决的问题,一定不要人来干。资本家就是这么认为的,如果机器比人便宜,那么他一定会用机器来取代人。我们虽然不是资本家,也不是慈善家,为了解决 就业问题,大肆的招聘人员,但是道理是一样的,你认为统一大家使用的技术/工具,是为了减少维护、管理成本,但是这样的结果无疑增加了开发人员的开发成 本,当今什么最贵?人才最贵。你让这么多人才干些本来机器可以胜任的事情,罪过阿,大家本来可以用更好的工具和技术,轻松的解决一些重复、复杂的事情,然 后做些机器目前干不了的事情更加体现开发人员价值的事,这样不但自己有成长,建立信心,给公司也带来很大的价值。 而且统一这个东西,真讨厌。你说如果让每个人天天穿一样的衣服,说同样的话,一样的观点,公司卖同样的东西,都信仰同一个裆,会是个什么样子?你可以制定 一个基本的规则(面向接口编程),但是不要统一成一样东西(面向实现编程)。就像现在大家在讨论为什么 Google 做不出 Instagram,google的Big table是很好(这点比我的公司好,东西做的不好还要求大家都用),但是不是任何应用场景都合适呢(可能就是nosql和关系数据库之争了)?公司产品 这么多,应用场景都不一样,干嘛都用一个自己的私有web框架,而且你说节省成本,省在哪里,一个正式的文档都没有,你说开源的web框架不适合,出了问 题没人管,你把开源社区放到哪去了。而且你觉得自己公司的东西出了问题就一定有人帮你解决吗。成熟点,好不好。写框架的人只有个把个,你找人可以,人家大 牛一定会找个小弟先让他了解大牛他写的东西然后帮他回答问题,你一个人文还好,万一人多了,你觉得他能及时响应你吗。最大问题在于,原作者人家辞职不干 了,怎么办?这个时候你再想想一个开源社区对于一个开源产品为何如此只要,他让用户之间相互帮助,分享经验,你有什么问题去社区里吼两声,肯定会有人愿意 帮助你的,你会惊异于人们施多么愿意帮助他人。