人月神话阅读笔记02
书中的焦油坑的意思说明了即使你足够强大,也无法摆脱束搏而沉到坑底。IT项目也是这样,不论是开发大型软件系统还是小型项目,都会遇到诸多复杂的问题和影响因素,项目本身就是一个足够复杂的动态系统,没有最优,只有满意。项目四要素,人员,组织环境,干系人,外部依赖和约束,风险和假设,团队,人等诸多问题都是你必须要考虑的问题,任何一个要素出现大的差错都可能导致项目失败,只有所有要素能够平衡好,团队能够协调一致才能够保证项目成功。
兴趣是最好的老师,软件开发是一项相互协作的游戏,大家必须有兴趣为共同的目标而奋斗。对于软件开发职业乐趣首先体现在程序员在创造产品,而且自我创造的产品会被用户使用,为客户带来价值。因此要尽量避免项目中途夭折,或者最终开发出的产品被抛弃的厄运,这会打击到程序员的积极性和对创造的渴望。
一个软件产品如果是一个人被封闭在一个孤立的环境里面做,他可能是体会不到更多的快乐的,职业的乐趣也来源于团队成员间的沟通和交流,相互协作。不管是自己的问题被解答,或者解答了他人的问题,程序员都会感到快乐。
学习的过程可能是枯燥的,但是学习后的成果能够帮助你解决实际的问题,你能够通过学习来创造软件产品,从这个意义上讲学习的是快乐的。学习的过程就是自我提高的过程,也是自我价值得以展示的过程。
程序员往往不喜欢受到太多的依赖和约束,也不喜欢繁琐的规程和文档,特别是这些文档没有体现出真正的价值的时候。还有他们可能并不喜欢修改自己的Bug,更不细化修改他人遗留下来的Bug,因此这种重复性的工作让他们体会不到创造性的乐趣。还有最大的苦恼往往更在于辛苦开发出来的系统不能真正使用而被抛弃。
过去我也经常对编写代码感到厌倦,但是当你看到你所创造出阿里的东西被大家认可的时候,你会感到非常高兴,所以在以后尽量不要对代码感到厌倦,因为他也会给你带来快乐,那是一种具有创造性的快乐。