[转]你属于哪个版本的程序员

来源:互联网 发布:电梯劝烟 知乎 编辑:程序博客网 时间:2024/04/27 14:57

国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言N版本的程序员或许更方便直接。根据作者的观点,可将WEB开发者大致分为以下几个版本:Alpha:阅读过一些专业书籍,大多数能用Dreamweaver或者FrontPage帮朋友制作一些Web页面。但在他们熟练掌握HTML代码以前,你大概不会雇佣他们成为职业的WEB制作人员。Beta:已经比较擅长整合站点页面了,在HTML技巧方面也有一定造诣,但还是用Tables来制作页面,不了解CSS,在面对动态页面或数据库连接时还是底气不足。Pre Version 1 (0.1):比Beta版的开发者水平要高。熟悉HTML,开始了解CSS是如何运作的,懂一点JavaScript,但还是基于业余水准,逐步开始关心动态站点搭建和数据库连接的知识。这个版本的WEB开发人员还远不能成为雇主眼中的香饽饽。1.0: 能够基本把控整个站点开发,针对每个问题尽可能的找到最直接的解决办法。但对可测性,可扩展性以及在不同(层)框架下如何选择最合适的WEB设计工具尚无概念。这个版本的WEB开发者有良好的技术基础,需要有进一步的帮助和指导。2.0:懂面向对象的编程语言,理解分层开发的必要性,关注代码分离,对问题寻找更完美的解决方法,偶然也会考虑设计模式的问题,但对此仍然概念不清。属于优秀的初级开发者,能完成较松散的代码开发(相对大型严谨的站点开发而言),在面对较复杂问题寻找解决办法时需要周边人的帮助。3.0:开始较为深入的理解面向对象编程和设计模式,了解他们的用途,当看到好的设计模式时能看透其本质,逐步关注分层的架构解决办法和可测试性。理解不同的开发语言并能说出他们的异同(例如各自的优势)。属于优秀的中级别开发者,雇主也确信他们最终能找到问题的解决办法,这个版本的人可以给1.0和2.0的开发者以指导。但他们对架构的理解仍然不够清晰,值得一提的是,只要给予一些指导,他们能很快理解并熟记做出的决定,以及选定方案的优势所在。4.0:理解模式,重视用户的反馈。着手研究方法论,架构设计和软件开发的最佳入口。头脑中已经形成了超越开发语言,技术架构的整体方案,可根据需求解构程序。能从理论的角度,不同模式如何融合成最佳形态,将多种X-驱动的模式应用到不同的方案中。是精通多语言的高手,理解不同系统和方法论的细微差别,属于高级程序员。这个级别的人能够轻易的辅导2.0和3.0的程序员,将他们推向更高的级别。5.0:从系统的角度考虑问题。对各种系统结构有深入研究,能对整个代码架构中的问题进行改进。在团队粘合性以及代码安全性方面有杰出贡献。对1.0到4.0版本的开发人员出现的问题能及时察觉,让整个团队保持积极性且保持兴奋的状态创建软件解决办法。举例来说,他们总是对新的技术和信息保持饥渴状态,试图用最简便的方案解决开发任务。在整个IT团队中获得信任,属于高级程序员和架构师。那么,您属于哪个版本的程序员呢?---------------------------我想我自己都可能是排不上号了!!!!! 

想想自己也毕业整整一年了,从去年到现在,做的工作也可以说是与程序开发有点关系,可是还是感觉自己现在还是个不入流的程序员,对程序的东西了解的还是太少了,虽然平时也写一些小的程序,而且也都是公司内部实际有用到的程序,但是那些都还是在既有的模式下,自己拼凑出来的,根本上就没有多少的技术含量.就最近自己一直在学习的C#来说,虽然也能写点小程序玩玩,但是应用起来还是捉襟见肘,十分有限!!而且自己最近也是心情不太好,一直都是在闹点情绪,本来是准备辞职的,但是就目前公司部门内部的人员来看,10月初还不一定能走的了!!!所以现在自己也是感觉有些矛盾,真的是很不想继续在这个公司呆下去了,但是,公司的老大还有这些个同事朋友的为人,感觉都还是不错的,自己如果直接走的话,又有点对不住人的,不走的话,又感觉很没意思!!

今天上网看到这篇文章,还是有不少感想的,虽然自己现在可能还是个不入流的,甚至可以说是根本就不算个程序员,但是一直以来,感觉自己对程序这块还是很感兴趣,而且也一直都在努力的去争取做到一个真正的程序员,也一直在努力的学习各方面的知识,丰富知己,充实自己!!!但是看了这篇文章后,感觉自己要学的东西实在是太多了,不知道的东西也实在是有点多,看来在以后的时间当中还是要铆足劲头去学啦,不然的话,就真的是一点都不行了,没有什么价值了!!

总之就是革命尚未成功同志仍须努力啦!!!!!!!!!!!!!!!!!!!!!!!!!!