最近在读亚当.斯密的《国富论》,这部两三百年前的巨著使用通俗易懂的语言解释了经济发展的规律。刚开始读第一部分,从劳动的分工开始,说明分工产生的条件,分工的必然性,以及分工带来的巨大的生产率的提升。
我没有机会体会过斯密所说工业化过程中的分工变化,现代工厂中的分工合作已经是自然而然并且被生产线固化了的;但我们有幸经历了IT业分工的变化,由于行业发展的迅速,二三十年的时间像是浓缩了以前需要几百年的进化过程。上世纪90年代的IT公司中技术人员甚至没有软件硬件的分工,到后来分为软件工程师、硬件工程师、网络工程师等,再后来搞软件的又分为编程的、测试的、配置管理的、数据库开发的等等。到了现在,编程的又分前端的、后端的如此等等,出现了很多我已经搞不懂的岗位。这如同斯密年代的牧羊工人、选毛工人、刷毛工人、染色工人、粗疏工人、纺织工人、织布工人等等,只是这一切只用了二十多年的时间,而很多是进十年的事情,我们可以说非常幸运,能够亲历这个过程。
我1996年从教师岗位辞职后进入IT行业,在一家规模不大的民营企业,大概10人左右,我们的主要客户是大型石化企业,我们所从事的项目主要是数据采集、工业控制以及相关的软件开发。由于所涉及的项目包括数据采集、网络传输、数据存储、数据发布、报表输出等功能,在最初的几年我们需要了解所涉及的各种技术,包括各种数据采集模块、RS232/422/485传输、网络传输(那时还有FDDI、令牌环等现在基本见不到的技术)、数据库技术(主要是Oracle,那时Sql Server在企业还不流行)、VB或者Dephi编程。后来,大约在2000年左右,有了基本的分工,硬件工程师、网络工程师、软件工程师,这时软件工程师负责全栈开发,按项目或者功能模块划分任务,软件质量无法保证的问题就出现了,2002年/2003年公司进行CMM2认证,理顺管理流程,按照软件开发过程进行分工,有了需求分析工程师、设计师、程序员、测试工程师、配置管理工程师等,引入了产品经理和项目经理的概念。再后来就是互联网大发展的时代了,分工更加明细,在可预见的将来,会有更多的职位出现。