开发者版本:你属于哪个版本的程序员? [转]

国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言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团队中获得信任,属于高级程序员和架构师。

那么,您属于哪个版本的程序员呢?

时间: 2024-08-03 06:57:17

开发者版本:你属于哪个版本的程序员? [转]的相关文章

开发者和程序员需要关注的42个播客

[编者按]本文作者为 Karen Sowa,文中列举了开发者与程序员可能会使用到的42款播客,涉及Java,Ruby以及移动开发等方面.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 如今,软件开发的步伐想要紧跟时代潮流实属不易,但是功能丰富的播客还是十分有用的:可以为用户提供通勤.健身或是其他空闲时间的娱乐.因此,本文总结了如下所示的播客列表,希望帮助用户找到最适合自己的播客.如果有所遗漏,欢迎进行补充! Java The Java Posse2015年首播的The Java Pos

程序员需要具备的基本技能

        软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等:在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究.但是,不管是什么的情况,总是有一些通用的基本职业技能.         这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯.很多程序新手也是因为缺少.达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能.而高级程序员应该非常熟悉这些基本技能,而且有能力胜任并

Matt DeBoard:我是如何成为程序员的

Matt DeBoard本是一名退伍军人.他在12周的时间内,由一名非程序员成长为一名专业开发者.对于如何成为一名程序员?他有着自己独到的心得与学习经验.他在博文<How I Became a Programmer>中介绍了自己成为一名程序员的学习经历,并通过问答形式,分享了很多学习经验和心得.CSDN对该文进行了编译,译文如下: 我昨天在"HackerNews"上发表了一个简短的回应--有关于反对"Ruby on Rails"的八星期指导课能够令你成为

程序媛不如程序员?看看这些高颜值的技术大神

  雷锋网(公众号:雷锋网)宅客频道按:本文不是为了让读者去评判这些程序媛的颜值,而是为了让大众知道,在代码背后,也存在这样一群女性,她们利用自己的技术战胜了世人的偏见,用自己的实力赢得了如今的地位.在这个男性统治的数字世界,她们的成就尤为不易.未来,应该有更多的程序媛,而不是程序员鼓励师. 本文作者:程序猿(微信号:imkuqin) 猿妹 在中国,男女程序员的比例相差甚远,女程序员只占 7.8%,即便是大牌科技公司的 Twitter 的女工程师只占 10%,Facebook 的女工程师也只有

一个大神程序员的使命感究竟应该是什么

工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值. 我们现在工作的行业很奇怪.明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发.这种问题存在已久,而且已经越发严峻. 开发者这个行业非常年轻,也面临着很严重的人才短缺问题.大部分的软件开发项目无疾而终,原因是后期开支过于庞大.那些行业里的大佬是怎么建议我们 的,他们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题.因为除非我们真正去尝试解决,否则永远不知道

优秀程序员的标准是什么

无数的人问过类似的问题,怎么样才能做一个优秀程序员?在回答这个问题之前,首先得明白什么是优秀程序员,这样才有方向和目标,可是这事情太主观,可能各人的标准千差万别,不谈那些传奇性的独自一人做出伟大事情的特例,也不谈什么上天入地,上帝大牛的诡论,以下是广泛比较认可的,在通常的项目开发中,一个优秀程序员的标准. 解决问题的能力 在项目开发中,一个程序员的能力等于其解决问题的能力.假如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量. 因为难度上不好那么简单的划分,并且在

[分享]错误“应用程序Xcode的这个版本不能与此版本的OS X配合使用”以及Mac源码和IOS开发资料分享

[分享]错误"应用程序Xcode的这个版本不能与此版本的OS X配合使用"以及Mac源码和IOS开发资料分享 安装Xcode时,出现"应用程序Xcode的这个版本不能与此版本的OS X配合使用"错误如下: 解决方案是: /system/libary/coreservice/SystemVersion.plist中的两个10.10为10.10.5 修改过程会提示无权限修改,要不要建立副本,点击提示框中的"复制"按钮,存到桌面上. 点击一个文件右

SmartGit:Git版本控制系统的图形化客户端程序

Git最初是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件.后来Git内核已经成熟到可以独立地用作版本控制.很多有名的软件都使用Git来进行版本控制,其中有Linux内核,X.Org服务器和OLPC (OLPC) 内核开发. 当使用github做协同的时候,我们常常需要在客户端安装相应的软件,github for Windows使用介绍 这篇文章可以很好带我们入门github,同时还带了一个gitshell,这个工具可以运行github的所有命令,但

Oracle服务端和客户端版本补丁不一致造成Tuxedo应用程序出core案例

这是一个CU**系统调用的查询天气预报的Tuxedo服务,Oracle Pro*C程序,连接的是Oracle 10.2.0.4库,出现问题的现象是不定时的产生core,服务down,触发Tuxedo服务的自动重启机制,但一般MAXGEN配置是100,即1天内若重启100次后服务就不会自动重启了,只能人工干预,每次重启后会好一阵,且该服务已经由被同步调用改为异步调用,因此实际业务上影响不大,只是几乎每天都会有自动重启的报警. 查看产生的core文件,如下是其堆栈信息, 根据提示的应用程序行,找到应