• 【华磊随笔】进一步的分析:开发者版本;你属于哪个版本的程序员?


    进一步的分析:开发者版本;你属于哪个版本的程序员?

     

    华磊:很久之前的文章,转来cnblogs,为什么不让加首页?

    2008:今天看到了CSDN首页的一篇文章"开发者版本:你属于哪个版本的程序员? ",对比自己年初对于自己团队的开发人员能力的考评方法来看到是有些创意,不过鉴于该文章中针对各级别的评估标准有些过于广泛和不够明确,如我评估的一个初级程序员看到此文章后直接把自己定位为中级程序员,于是针对各个级别重新进行了批注,并根据自己的经验标出了其中的一些重点和关键的内容.

     

     

     

    国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言N版本的程序员或许更方便直接。根据作者的观点,可将WEB开发者大致分为以下几个版本: Alpha:阅读过一些专业书籍,大多数能用Dreamweaver或者FrontPage帮朋友制作一些Web页面。但在他们熟练掌握HTML代码以前,你大概不会雇佣他们成为职业的WEB制作人员。 Beta:已经比较擅长整合站点页面了,在HTML技巧方面也有一定造诣,但还是用Tables来制作页面,不了解CSS,在面对动态页面或数据库连接时还是底气不足。

    (特征:熟练掌握HTML)

    Pre Version 1 (0.1):比Beta版的开发者水平要高。熟悉HTML,开始了解CSS是如何运作的,懂一点JavaScript,但还是基于业余水准,逐步开始关心动态站点搭建和数据库连接的知识。这个版本的WEB开发人员还远不能成为雇主眼中的香饽饽。

    (特征:能独立完成一个静态站点的设计和制作,站点用户体验和HTML组织相对较为合理和美观)

    1.0: 能够基本把控整个站点开发,针对每个问题尽可能的找到最直接的解决办法。但对可测性,可扩展性以及在不同()框架下如何选择最合适的WEB设计工具尚无概念。这个版本的WEB开发者有良好的技术基础,需要有进一步的帮助和指导。

    (特征:能独立完成中小型动态站点的设计、架构、开发,熟练掌握CSSJavascriptHTML Dom模型、一种数据库技术、一种服务端开发语言,了解数据库设计的三大范式,了解业务领域的建模和分析过程、方法

    2.0懂面向对象的编程语言,理解分层开发的必要性,关注代码分离,对问题寻找更完美的解决方法,偶然也会考虑设计模式的问题,但对此仍然概念不清。属于优秀的初级开发者,能完成较松散的代码开发(相对大型严谨的站点开发而言),在面对较复杂问题寻找解决办法时需要周 边人的帮助。

    特征:熟练掌握oop/ood的一种以上编程语言,系统地学习过设计模式,了解开发领域的建模和分析过程熟悉TCP和相关协议(http)的本质,了解WebServer的部署、维护、优化。

    3.0开始较为深入的理解面向对象编程和设计模式,了解他们的用途,当看到好的设计模式时能看透其本质,逐步关注分层的架构解决办法和可测试性。理解不同的开发语言并能说出他们的异同(例如各自的优势)。属于优秀的中级别开发者,雇主也确信他们最终能找到问题的解决办 法,这个版本的人可以给1.02.0的开发者以指导。但他们对架构的理解仍然不够清晰,值得一提的是,只要给予一些指导,他们能很快理解并熟记做出的决 定,以及选定方案的优势所在。

    特征:熟练掌过OOP/OOD的精髓,能够设计和实现出合理的可重用的类库/框架,熟悉设计模式并能够选择性的应用到工作中,熟悉开发领域的建模和分析过程,能够进行中型系统的技术架构分析和设计

    4.0理解模式,重视用户的反馈。着手研究方法论,架构设计和软件开发的最佳入口。头脑中已经形成了超越开发语言,技术架构的整体方案,可根据需求解构程序。能从理论的角度,不同模式如何融合成最佳形态,将多种X-驱动的模式应用到不同的方案中。是精通多语言的高手,理解不同系统和方法论的细微差别,属于高级程序员。这个级别的人能够轻易的辅导2.03.0的程序员,将他们推向更高的级别。

    特征:熟练开发模式的设计和整合,能够设计出适合团队的开发模式、流程、基础框架,能够进行大型系统的技术架构分析和设计,熟悉分布式计算、分布式存储、负载均衡技术并能合理应用,能够有效地组织一定数量的硬件设备用于系统运作。

    5.0从系统的角度考虑问题。对各种系统结构有深入研究,能对整个代码架构中的问题进行改进。在团队粘合性以及代码安全性方面有杰出贡献。对1.04.0版本的开发人员出现的问题能及时察觉,让整个团队保持积极性且保持兴奋的状态创建软件解决办法。举例来说,他们总是对新的技术和信息保持饥渴状态,试图用最简便的方案解决开发任务。在整个IT团队中获得信任,属于高级程序员和架构师。

    特征:优秀的系统架构师/系统分析师/团队管理者。

    6.0:市场的准确把握、开发方向的决策者、理论老师级别。

    本文作者:华磊 出处:http://www.cnblogs.com/hualei/
    本文版权归华磊和博客园、CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-博客园-华磊CSDN-华磊
    特别授权:敏捷开发(SCRUM)系列文章特授权上海火速转载使用并应用到研发项目“火速智卓-用心连接企业员工的微信企业号应用平台”的管理中。
    小规模研发团队的敏捷开发(SCRUM)全集
    JQuery+FlexiGrid+asp.net完美解决方案-开源项目dotNetFlexGrid,构建快速的Ajax应用程序[官网][下载]。
  • 相关阅读:
    使用vs2010编译 Python SIP PyQt4
    谷歌编程指南
    【转】微策略面经相关资料
    KMP 算法
    C++ 拷贝构造函数
    虚继承 虚表 定义一个不能被继承的类
    cache的工作原理
    背包问题
    【转】C/C++ 内存对齐
    【转】 Linux/Unix 进程间通信的各种方式及其比较
  • 原文地址:https://www.cnblogs.com/hualei/p/1806140.html
Copyright © 2020-2023  润新知