在软件开发领域,高级开发工程师通常是指那些编写代码超过 3 年的人。这些人可能会被放到领导的位置,但经常会产生非常糟糕的结果。Matt Briggs 是一名高级开发工程师兼 Scrum 管理员。他认为,单纯使用年限来划分开发人员存在问题,两个同样具有 10 年开发经验的开发人员可能大不相同。近日,他发表了一篇博文,根据开发者所能发挥的作用划分软件开发工程师的成长阶段。
初级开发工程师
初级开发工程师通常是指那些刚刚结束学生生涯的开发者。他们以为自己什么都懂,但是面临问题时却又一筹莫展。他们不熟悉用到的工具,也不了解当前代码库。因此,他们需要监督,需要大量的培训和指导,否则可能几年过去了,他们仍然是初级开发工程师。
一名优秀的初级开发工程师应该能够快速完成他人分配的工作,并且保证质量。
中级开发工程师
中级开发工程师不像初级开发工程师那样只专注于代码,他们开始通过试验、文献和与其他程序员的讨论寻找构建系统的正确方式,也就是说他们会学习软件构建理论。
一名优秀的中级开发工程师不需要监督。他们可以自己提出代码设计的问题,并在设计讨论中发挥重要的作用。他们也是开发团队的主力。但是,他们在遵循“设计模式”和“领域驱动设计”等理论方法设计系统时,可能会出现过度设计的情况。因此,有必要对他们进行进一步的指导和更高层次的监督。
Briggs 指出,绝大多数的高级软件开发工程师和团队负责人实际上都是中级开发工程师,只是大部分人都没有意识到这一点。
高级开发工程师
高级开发工程师抛弃了支配中级开发工程师的复杂性,追求简单至上。他们不再按照知识划分开发者,而是了解每个人的优势和不足。在理论运用方面,他们重视“上下文”,而不是一味地追求“正确方式”。他们知道,构建优秀的软件,唯一的方式是改造理论方法,适应客户、代码库、团队、工具和组织的需求,在设计模式、库、框架和流程之间寻找平衡。
高级开发工程师更多地为别人考虑,了解组织和客户如何工作,知道他们的价值所在。他们从来不会说“这不是我的工作”。他们的工作是提供问题解决方案,总是考虑他们的工作会为组织和客户带来什么价值,而不是他们会有多大的工作量。
中级开发工程师会钻研一些令人厌烦的工作,但高级开发工程师会退一步,看看是什么导致了这样的工作。他们会评估修复问题根本原因的成本,从而决定是直接修复,还是先让系统运行起来,后续再修复。
高级开发工程师清楚地知道,他们的主要作用是让团队变得更好。同时,他们也深知,领导不是权力,而是授权,不是命令,而是服务。
Briggs 指出,如果团队没有高级开发工程师担任领导角色,那么项目注定要失败。高级开发工程师是唯一有资格选择技术和平台的人,因此,从项目开始的第一天起就应该有一个这样的人。
Briggs 承认,这种划分方式过分简单,却也可以提供一些有用的信息。他建议,企业在招聘时要考虑团队和组织的人才构成。
http://news.cnblogs.com/n/522805/
相关推荐
这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。 类似的部分按实际量进行计算,不同的部分则采用相应...
一文区分FPGA和STM32,硬件工程师一定用得上! fpga开发.pdf
由于嵌入式开发工程师未来的就业方向主要区分为嵌入式软件开发和嵌入式硬件开发两方面,所以下面的嵌入式开发工程师的职业前景发展也主要是针对嵌入式软件开发工程师和嵌入式硬件开发工程师两个方向说明。
可以区分是本机来电还是经过呼叫转移来的电话。 android系统
校招软件测试工程师考试题库,及详细答案解答,区分难度级别,可以根据实际招录要求按照难易程度筛选题目
教你区分LVDS屏线及屏接口定义
区分英文和中文
信息技术系软件开发类毕业设计报告撰写格式全文共8页,当前为第1页。信息技术系软件开发类毕业设计报告撰写格式全文共8页,当前为第1页。 信息技术系软件开发类毕业设计报告撰写格式全文共8页,当前为第1页。 信息...
新一代互联网中支持QoS路由和区分服务的路由器系统,徐恪,崔勇,服务质量路由(QoSR)和区分服务是新一代互联网提供服务质量(QoS)控制的所必须实现的核心机制。然而由于QoSR是NP完全问题,其可扩�
NCL11-2022版中文版和区分表修改内容.docx
对部分英语单词进行比较和区分对部分英语单词进行比较和区分对部分英语单词进行比较和区分
在web开发中我们经常各种各样的需求。今天小编给大家介绍JS区分浏览器页面是刷新还是关闭标签页,非常实用,感兴趣的童鞋参考下吧
matlab开发-自适应平滑和区分时间序列。与adsmoothdiff相同,但带有二阶导数
文华期货软件指标文华财经指标公式源码期货区分趋势和震荡的三个指标.doc
小学一年级语文如何区分ei和ie-ui和iu课件
Linux下C语言来检测USB设备以及自动区分U盘和硬盘(点击系统设置,点击格式化并没有真正格式化,可以实现区分功能!
初级测试工程师 中级测试工程师 开发工程师 测试管理者 高级测试工程师 图1-2 职业发展规划图 软件测试培训资料全文共193页,当前为第8页。 企业需要怎样的测试人才? 一年以上软件测试经验 计算机相关专业大专以上...
USB 条码扫描枪和手动输入区分 不用焦点实现
文档介绍了UID,FUID,CUID卡的差异与区分,指出了各自的有点和缺点