史荣久 2009年08月16日 星期日 21:31 | 1560次浏览 | 4条评论
在继哲兄的
欢迎
https://sites.google.com/a/margorp.org/www/2/2-3
2.3.程序员的层次
对程序员层次的具体化,有利于职业规划和指导学习.
为统一称呼并清晰成长路线,本文对程序员层次划分如下,
助理程序员/程序员/高级程序员/资深程序员
2.3.1.适用语境
本组词汇是根据程序员工作角色,熟练程度,项目贡献进行划分,
主要用来描述程序员的工作性质,发展层次.
不表示能力大小,等级,不适应于管理,流程,模型等语境下.
因角色,性质或视角的不同,程序员有着多种称呼,均不在本文范围,
比如,
分析师,设计师,架构师,系统工程师,网络工程师,
初级程序,中级程序,高级程序员,
程序员(PG),软件工程师(SE),高级软件工程师(SSE),
码工(Coder),程序员(Programmer),开发者(Developer).
2.3.2.划分理论
在软件开发实践中和程序员最直接相关的工作包括以下7类.
1) 分析(analysis):需求分析,问题调研等.
2) 设计(design):形成解决方案,包括文档,图表,程序框架等.
3) 实现(implementation):具体的编码活动.
4) 调试(testing/debuging):各种阶段和类型的测试.
5) 文档(documentation):形成说明书,手册等.
6) 安装(installation):安装,部署及初始化软件.
7) 维护(maintenance):软件的维护,运营,bug修正等,不含二次开发.
这些称为"工作角色".
通常开发中程序员身兼多种角色,这样有利于提到效率和技能水平.
"熟练程度",指一个"工作角色"的把握程度.
参见, "2.2.了解/熟悉/掌握/精通/大师".
"项目贡献",指一个"工作角色"中担负工作量与总工作量的比值.
一个"★"表示20%左右,最高"★★★★★".
假设项目中有A,B两类个程序员,A贡献了2万行代码,B贡献了8万行,
那么A在"实现"上的贡献度为20%,就是"★".
2.3.3.助理程序员
工作角色 熟练程度 项目贡献
分析 不知-了解
设计 不知-了解
实现 不知-熟练 ★★★★
调试 不知-熟练 ★★★★
文档 不知-了解 ★★★
安装 不知-了解
维护 不知-了解
助理程序员通常具有以下一些特征,
* 技术不熟练.
* 业务不熟练.
* 大量编写代码.
* 工作被动.
* 无创造性.
2.3.4.程序员
工作角色 熟练程度 项目贡献
分析 了解-掌握 ★
设计 了解-掌握 ★
实现 熟悉-掌握 ★★
调试 熟悉-掌握 ★★
文档 了解-掌握 ★★★
安装 了解-掌握 ★
维护 了解-掌握 ★
程序员通常具有以下一些特征,
* 技术和业务熟练.
* 阅读和编写过大量代码.
* 热衷于技术研究和学习.
* 有个人观点和见解.
* 代码bug率低.
* 代码可读性好.
2.3.5.高级程序员
工作角色 熟练程度 项目贡献
分析 掌握-精通 ★★
设计 掌握-精通 ★★
实现 精通-大师 ★
调试 精通-大师 ★
文档 掌握-精通 ★★
安装 掌握-精通 ★★
维护 掌握-精通 ★★
高级程序员通常具有以下一些特征,
* 精通技术和业务.
* 代码稳定易读.
* 具有创造性.
* 编写基础代码.
2.3.6.资深程序员
工作角色 熟练程度 项目贡献
分析 精通-大师 ★★★
设计 精通-大师 ★★★
实现 精通-大师 ★
调试 精通-大师 ★
文档 精通-大师 ★★
安装 精通-大师 ★★
维护 精通-大师 ★★
资深程序员通常具有以下一些特征,
* 精通技术和业务.
* 视编程为艺术.
* 设计项目原型.
* 编写框架或核心代码.
Zeuux © 2024
京ICP备05028076号
回复 边疆 2009年08月17日 星期一 17:37