史前时代的焦油坑吞噬了成千上万个力大无穷的巨兽,他们中大多数开发出了可运行的系统,不过,其中只有非常少数的项目满足了目标、时间进度和预算的要求。
今天的大型软件项目则令无数庞大的开发团队陷入无从逃脱的窘境。开发过程中会遇到很多小问题,表面上,这些小问题一个一个并不能造成困难,每个都很容易被解决,但是当他们累计在一起的时候,团队的行动就会变得越来越慢且很难看清问题的本质。
编程系统产品的成本高达九倍,原因是要进行彻底测试,要具有完备的文档。
程序员也有程序员的乐趣和苦恼
乐趣:
第一、作为程序员,可以体验到一种创建事物的纯粹快乐,如同小时候玩泥巴捏各种东西时感到愉快一样。
其次,快乐来自于开发对其他人有用的东西,当我们开发的东西被他人使用,为他人解决问题的时候,我们是十分开心的。
第三,整个过程体现出魔术般的力量。
第四,学习的乐趣。
第五、来自于工作在如此容易驾驭的介质上。
苦恼:
第一、必须追求完美,不能有一点错误和bug
第二、由他人来设定目标,供给资源,提供信息。编程人员很少能控制工作环境和工作目标
第三、概念性设计是有趣的,但寻找琐碎的bug确实一项重复性工作
第四、当投入了大量的辛苦劳动,产品在即将完成或者终于完成的时候,却显得陈旧过时
我们必须耐得住苦恼,才能享受其中的乐趣。