史荣久 2009年08月15日 星期六 11:27 | 1332次浏览 | 2条评论
不管有没有意义,首发哲思,小范围讨论,恳请指点,斧正.
待讨论和反思后,再发到 http://margorp.org
2.3.编码者/程序员/开发者
这是一组比较相似,但在IT职业生涯中十分重要的词汇.
对其内涵的具体化,有利于职业规划和指导学习.
2.3.1.适用语境
实际的软件开发活动,经常身兼多职,环节和角色越少,效率越高,权责越清.
归纳一线软件开发实践(不包括管理),主要包括以下7类工作.
1) 分析(analysis):需求分析,问题调研等.
2) 设计(design):形成解决方案,包括文档,图表,程序框架等.
3) 实现(implementation):具体的编码活动.
4) 调试(testing/debuging):各种阶段和类型的测试.
5) 文档(documentation):形成说明书,手册等.
6) 安装(installation):安装,部署及初始化软件.
7) 维护(maintenance):软件的维护,运营,bug修正等,不含二次开发.
在不同的公司,项目或模式下,完成以上工作的角色,有不同的名称和定义,
比如设计师,架构师,系统工程师等,其差异不在本文讨论范围.
2.3.2.编码者(Coder)
80%以上的工作是"实现","调试",会有10%左右的"设计"和"文档"工作.
一般来讲,是在既定框架下写代码或把伪代码变成可执行代码.
编码者具有以下特征,
* 贡献软件中80%以上的代码.
* 80%的工作是实现业务逻辑.
* 写代码和调试代码时间差不多等长.
* 代码可以运行是最终目标.
2.3.3.程序员(Programmer)
"分析","设计","实现","调试","文档",在工作中的比例相近.
是重要框架和基础代码的设计者和创建者,侧重于技术.
程序员具有以下特征,
* 具有多年"编码者"实践.
* 至少精通一门技术或领域.
* 贡献软件中20%左右的代码.
* 设计和创建基础代码或框架.
* 认为代码是一门艺术,追求极致.
2.3.4.开发者(Developer)
熟悉或实践过软件开发的7类工作,侧重于软件使用和业务.
开发者具有以下特征,
* 具有多年"编码者"实践.
* 掌握业务和程序使用.
* 能够组织软件开发.
--------------------- version 1.1 ---------------
2.3.程序员的层次划分
因角色,性质或视角的不同,程序员有着多种称呼,比如,
分析师,设计师,架构师,系统工程师,网络工程师,
初级程序,中级程序,高级程序员,
程序员(PG),软件工程师(SE),高级软件工程师(SSE),
码工(Coder),程序员(Programmer),开发者(Developer).
对程序员层次划分的具体化,有利于职业规划和指导学习.
为统一称呼并清晰成长路线,本文对程序员层次划分如下,
助理程序员/程序员/高级程序员/资深程序员
2.3.1.适用语境
在软件开发实践中最直接和程序员相关的工作包括以下7类.
1) 分析(analysis):需求分析,问题调研等.
2) 设计(design):形成解决方案,包括文档,图表,程序框架等.
3) 实现(implementation):具体的编码活动.
4) 调试(testing/debuging):各种阶段和类型的测试.
5) 文档(documentation):形成说明书,手册等.
6) 安装(installation):安装,部署及初始化软件.
7) 维护(maintenance):软件的维护,运营,bug修正等,不含二次开发.
本组词汇是从软件开发实际出发,根据程序员工作种类(或者说角色活职责)
进行划分,在任何表示能力,管理,流程,模型等语境下,失去现有意义.
2.3.2.助理程序员
2.3.3.程序员
2.3.4.高级程序员
2.3.5.资深程序员
------------------------- 已经转移了 ----------------------
Zeuux © 2024
京ICP备05028076号
回复 徐继哲 2009年08月15日 星期六 13:37
回复 史荣久 2009年08月15日 星期六 15:13