大多数的开发人员都是非常执着的,他们会在一个项目上耗几个星期而导致项目的一再延迟,而且刚开始大多数的开发人员都会热衷于争论语言之间的谁优谁略,而从这他们从事编程时间的越来越长,他们就会慢慢的发现语言知识一门工具,不同的语言在不同的方面有自己的优势。
程序等于算法加结构,这是编程的本源定义,也是原始的状态,几乎所有的编程人员都在循环与分支构成的逻辑中打转。而推动这种逻辑向前发展的是“方法”和“方法论”的出现。长期的编程实践,自然的归演与总结,必须沉淀为某种方法,于是过程出现了,于是对象出现了,于是方法论出现了。某一个方法的提出是实践的结果,不是某个人某个组织创造的。方法也并不神秘,因为我们今天就正在用,正在做,正在实现。正如模式是一种方法,而模式就是你昨天书写代码的行为。模式需要一定的编程经验才能理解,因为你看不到你做的事,也不能理解“模式”作为一种方法的价值,同理,理解过程,理解对象等等都需要编程经验,经验来源与回顾,理解分析,而不是你将要写的下一行代码,经验有可能来源于上一个项目失败的经历。正如,有的人会因为在寺院扫了一辈子的落叶而得到,而有的人会因为一句话得到,不同的人悟出道理的方式也不同。
组织方面的管理才是真正的管理,因此项目经理可以是非技术性的但是必须学会管理。
很多人都认为boss是给自己发钱的人,然而boss并不决定你的薪水,反而是你的直接上司决定你的薪水,我们应该明白真正的boss是经营者,boss决定一个方向,而组织者保证决策与这个方向是同步的,工程中没有boss。
实现是软件开发的本质需求,方法是对既有行为的归纳总结,因而实现方法是最先出现的,然后才有分析和设计方法,,软件工程体系中“实现”作为软件开发的本质需求和基本动因,如同上帝之手推动着软件工程理论体系的形成。