一。
出差一个月,昨天终于可以回到家里。但是我刚到家就遇到了一件扎心的事。我出去倒一下垃圾,回来后我儿子却对我说:“爸爸,你能不能在我家里多玩会再走啊?”
我的心咯噔一下,这比上次的:爸爸,你什么时候来我家玩啊。更扎心。在我儿子心里,爸爸是一个偶尔会出现的玩伴,或许也只是个玩伴。他心里或许会疑惑,为什么我会跟这个不长出现的人姓,而不是常常陪他在一起的妈妈一起姓。在他的心里,爸爸跟其他的名字一样,只是一个名称,没有什么特殊的意义。我很害怕,我儿子在长大了以后还这么看爸爸这个称呼。我想让我儿子知道。爸爸是什么,他不光提供物质上的支持,还有精神上的引导。
为此,我上周又跟老板提离职了。他还是那句话:你不能走,你走了项目组就很可能会垮掉了。这让我觉得我很重要,我不知道他说的是不是真的。但是这很有用,我不能这么自私的因为个人原因,毁了兄弟们的前程。第二次提离职又没走的了,我还好意思再提第三次吗?
人在江湖身不由己,记得09年刚刚进入软件行业,听说某个公司的项目经理,因为项目压力大跳楼了。我们几个同期的同事谈论的时候一致骂跳楼的人傻,压力大不会离职吗?为什么傻到跳楼。其实我们那个时候就是这么干的,干的不爽了就辞职了。一个公司能待两年已经算很长了。但是现在慢慢理解,为什么因为项目压力大不离职,而选择跳楼。他肯定是个有责任心的人,不愿意对不起一起奋斗的兄弟,而选择了那么极端行为。
二。
我们以前经常用这样的笑话调侃项目经理的无知。他以为一个人生小孩需要十个月,十个人只需要一个月就能生出小孩。来讽刺他以为增加人员数量就能提高软件开发的速度。
但是我以前却没有想过,为什么要把软件开发比做生小孩,而不是制造汽车?如果一个人造一辆汽车需要花十个月,那么十个人确实可能用一个月的时间造一辆车。
要让十个人在一个造一辆车,首先是要有统一规划。每个人都严格按照图纸规定的做,这样才不会在十个人各自完成了自己的工作后,发现不能拼装在一起使用。所以最重要的是统一规划。
而软件开发中, 就是因为做不到统一规划,才导致了一个人十个月的工作量,十个人却变成二十个月或三十个月甚至无限期的工作量。其中大部分时间是因为接口不协调而导致的反复调整,bug或不必要的交流成本。
说的这里,我想起了一句歇后语:韩信带兵,多多益善。好的软件设计师,能像韩信一样,再多的兵也能合理的使用。而差的设计师最多带五个人,因为五个人还是可以面对面交流,再多就会出现失控,导致停滞不前。
好的设计就能把软件开发做的和生产汽车一样高效,而差的设计就像生孩子一样,再多的人也没用。
怎么学习做一个好的设计,不要一个人开发一个功能。一个人开发一个功能很容易一头扎进代码堆里,而不顾自己设计的接口,类结构是否合理,反正都是自己一个人开发。就算不合理自己也不知道。而两个以上的人,就不会这样了。起码你需要把你的设计清楚明白的讲另一人。如果接口或者类结构不合理,你自己或许就知道了,或者别人就会告诉你。
这是对编程的一点看法,不一定对。
无戒365挑战营 第11天