程序如人生,人生如程序

字体 -

程序如人生,人生如程序

大道至简,其理相通

比如敏捷编程,先给你的项目定一个小目标,比如给人生定一个小目标,先挣一个亿,挣了一个亿,你的目标应该就变成100亿,这里有一个小测验,验证你有没有潜力挣100亿: 如果你猜到100亿的下一个目标是一千亿或类似的数字,你基本上没有潜力挣100亿了,能够挣100亿的人下个目标应该是把钱全部捐出去。

Java是共和国, DotNet是君主国。现在还是共和国更强大一些。

程序如人生,比如三权分立这个概念,做软件的不允许做运维,做BA的也不会做软件,这就是程序界的立法执法和行政权。

电脑游戏里也能学到很多东西,比如我家小子爱玩的dota2。在里面,我教会了他什么是策略,领袖是怎么建立的,什么是纪律。

我们的系统已经开发运行了十年了,质量不太好,老是修修补补,总是有牛皮的程序员和架构师想彻底推倒重来,说的都是牛气轰轰的话:我们要建设一个人类大同的共产主义社会。哦哦,说错了,他们说新架构是如何优雅如何完美,如何解决所有的问题。吸引一批又一批的外行和年轻程序猿为之疯狂。

给了他们一个练手的小项目,做完之后他们哑火了。

电脑游戏里有句名言,不怕神一样的对手,只怕猪一样的队友,其实碰到猪一样的队友也不要慌,让他去死,死队友不死贫道,准备好苦战,抢占资源,积极防御,深挖洞,广集粮,一样可以反转赢过来,这时你的游戏得分一定非常高。开发队伍里有时也会碰到这种猪一样的队友,我年轻的时候一般会拼死帮忙,现在我队友如果不听忠言就会让他去死,保护好自己,自己暗自琢磨如何事后补救,等出了事情再呈英雄表现自己,显示自己对公司的价值。

软件世界里,我们反对做大,我们更赞成适度规模的子系统通过协议相互沟通,我们常用的俗语做大做强是一个错误的捆绑词汇,做大之后系统只能变弱,原因在于:系统内部要处理的问题太多,相互冲突,相互耦合。系统内部各个功能块相互指责相互推诿。系统给人一个错觉,太大不能倒,所以轻慢用户的需求,给程序猿一个虚幻的安全感。等到积重难返的时候,系统也就崩溃了。只依靠这个丑陋系统的资深程序猿又何以为生?避免风险不能靠被保护和捆绑,这个推迟了风险但也成倍放大了风险。

其实更现实的做法是改良现有的系统,分解大系统为小系统。这跟我们做大做强是相反的。你说谁正确呢?牺牲效率提高模块化隔离化。这些话不爱受听。外行永远是多数还特自以为是。

我们的这个十年老系统开始是由一个牛逼的程序猿一手带大的,这就是我们常说的个人英雄主义,在系统小的时候这套很管用,高效,敏捷。但好景不长,系统长大了,一个人搞不定了,需要更多的程序猿,这个时候英雄程序猿开始起负面作用了,他变得霸道蛮横,他不能与其它人合作,固执己见,拒绝新技术。我咋觉得这个故事听得好耳熟,有个姓毛的牛人力挽狂瀾。。。


这篇文章写于大约几年前, 最近翻出来, 觉得有意思,改了一点发表出来。

分享博文至:

    1 条评论

  1. 1. Wujingz - 2017年9月16日 13:22

    谈技术好,还有一个月就开19大了,稳定压倒一切。我喜爱的锵锵停了,今年秋天来的好早。

发表评论

您目前尚未登陆,不能发表评论。登陆