读了《梦断代码》这本书我越发意识到我将要面临的高山宛若耸入云端。真正的程序员都是一批准备改变世界的人,他们雄心壮志,信心满满,却又因为思想抱负各不相同而各自为战,难以成型。他们是天生的乐天派,种种困难面前都不为所动,然而正是如此,才为计算机提供了无尽的可能。
书中提到了艾瑞克·瑞蒙德在《大教堂与集市》中的一句话“好程序员懂得写什么,而卓越的程序员知道改写(并复用)什么”,对此我的触动尤为深刻,一直以来我都坚信个人的能力,自学占据了我2年编程生涯的全部,没有想过要去分析和理解别人的思维,并以此基础去激发潜力。而如今我在对团队开发有了进一步的了解之后,意识到一个人单打独斗哪怕穷其一生也不可能做出真正创新实用的好软件,不了解别人的思想和观念,个人又怎能保证是创新呢?!
承前继后了解已知挖掘未知,是成为一名程序员的基础;宏大合理的想象,具有富含逻辑的概念性框架的思考是成熟程序员的标志;优秀的团队合作能力严谨坚韧的心态是好的程序员应当具有的能力。
软件开发,是一门真正复杂又极其简单的事情,软件的设计往往合理胜过“完美”,理念上的完美可能会带来程序的冗杂以及维护成本,简单来说便是过犹不及。程序员一厢情愿的追求完美抑或讨好客户,只会令程序成为程序员自身的累赘。而想要成为一名程序架构师,“如何配置项目人员和预估项目所需时间一样叫人充满挫败感”。“不同的程序员的生产力相距甚远,常会达到10倍差距”。对此要联系我们周围的一些项目,项目参与者抱着不同目的参与其中,水平差距很大,如何合理的分配任务,保持团队的活力尤为重要,期间会遇到种种困难,需要提出来一起解决,个人英雄主义很可能会带来灾难性的后果。由此联想到本书所提及的奇客,他们多为内闭性思考者,喜欢单枪匹马,避开团队和协同工作方式以及任何支持这种方式的培训,可能还会避免与同事之间建立开诚布公,相互信任的关系。由此,一款好软件的出现真正难于蜀道