(1) 程序员
程序员处于技术成长历程的最下端。他们需要熟练掌握各种语言技巧,知道技巧适用性还要对资源做出最恰当安排。
(2) SA系统分析师
系统分析师是抽象模型的建立者,他们需要专业的概念模型知识和基础编程技巧。杰出的系统分析师会利用编程技巧来辅助建立概念模型。
(3) SD系统设计师
系统设计师应当对“系统结构”所使用的软件技术非常了解。如果自身具备良好编程技巧,才会成为优秀的系统设计师。系统设计师的职责是把结构模型对应到实现模型,作用非常重要。在从概念到实现期间规划和组合模型的优劣是决定系统设计师好坏的标准。
(4) 项目经理
项目经理必须具备较强的专业知识,具备沟通技巧,了解团队人员的组成,还需要知道如何对团队分工,学会根据项目特性选择最适合的语言和工具,不能有任何偏执。
(5) 产品经理
产品经理必须具有产品管理能力。这是一项非常重要的技能,产品经理需要融合技术和市场趋势,知道未来大家需要什么,使开发的产品实现技术和市场上的引导作用,他们还要快速学习技术并融合起来做很好的演示。
(6) Architect(架构设计师)
架构设计师是程序员的最终归属,也是成长链中最神圣的一环。架构设计师对整个项目的贡献非常大。架构设计师彻底摆脱了语言的束缚,身兼百家之长,熟悉很多语言的精髓;知道软件发展趋势,会开发新一代产品或制订新一代产品的方案,知道各种软件产品特性。架构设计师会根据这些特性做出非常好的产品。另外,杰出的架构设计师具有创新技巧的本领。