http://news.csdn.net/n/20080625/116964.html
国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言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团队中获得信任,属于高级程序员和架构师。
那么,您属于哪个版本的程序员呢?
分享到:
相关推荐
《卓有成效的程序员》是一本专为程序员和软件开发者设计的迷你书籍,旨在帮助他们提升工作效率、优化工作流程,并最终成为一个卓有成效的技术专家。这本书涵盖了多个关键的知识点,对于那些希望在IT行业中脱颖而出的...
map ZZ :wq<CR> " 映射ZZZ为不保存退出 map ZZZ :q!<CR> ``` 这样,用户只需输入`ZZ`或`ZZZ`就能快速完成相应的操作,提高了工作效率。 Vimscript是Vim的内置脚本语言,用于编写`vimrc`。通过学习Vimscript,用户...
- `:help <command>`:查看某个命令的帮助文档 **2. 感觉良好** - **掌握更多插入模式**: - `oa`:在光标后插入 - `oo`:在当前行后插入一行 - `oO`:在当前行前插入一行 - `ocw`:替换从光标所在位置后的...
本项目标题提到的"高仿微信,iOSAppTemplate代码重构 此版本TLChat基于TLKit、ZZFLEX实现"是一个具体的实践案例,涉及到两个关键库——TLKit和ZZFLEX。下面将详细解析这两个库及其在重构过程中的作用。 首先,TLKit...
《zz809.com留言本》是一款基于网络的互动交流平台,源于柏图留言本BTB 1.2版本,并经过管理员zz809的定制和优化。这个平台旨在为用户提供一个简便、实用的在线留言功能,使得用户可以方便地在网站上发表评论、交流...
while (inFile.read(reinterpret_cast<char*>(&data), sizeof(WeatherData))) { // 处理读取到的数据 } ``` 在处理数据时,我们需要根据ZZ文件的格式来解码和转换数值。这可能涉及到位操作、浮点数解析或者日期...
6. **各种排序算法**:排序是计算机科学的基础,C#中内置了`Array.Sort()`和`List<T>.Sort()`方法,但也可以手动实现各种排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序等。每种排序算法都...
- `>>,<<`:缩进右移/左移。 - `:retab`:重新制表。 - `gu/gU/~`:改变文本大小写。 - **多选与批量操作** - `v/V`:进入可视模式/选择整行。 - `Ctrl-V`:选择矩形区域。 - `Ctrl-V I Esc Esc`:在可视模式...
在IT领域,特别是对于程序员而言,掌握高效的文本编辑工具是至关重要的。其中,Vim是一款非常强大的命令行文本编辑器,它不仅功能强大而且高度可定制,是很多专业开发者首选的编辑工具之一。下面将详细介绍Vim的一些...
vim,被誉为史上最强大的文本编辑器,其强大的功能和高效的操作方式吸引着众多程序员和开发者。然而,它的学习曲线确实相当陡峭,对于初学者来说,掌握所有命令并非易事。本文将根据《Learn Vim Progressively》一书...
在Linux环境下学习和运用C语言是许多程序员的首选,尤其是在系统编程、嵌入式开发等领域。本文将深入探讨如何在Linux环境中高效地编写C语言代码,包括使用Vim编辑器、GCC编译器的基本操作以及一些高级用法。 #### ...
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.#>+++++++++++[<+++++>-]<.>++++++++[<+++-]>-.<+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++ ++++. ``` 这段代码...
map ZZ :wq<CR> ``` 3. **文本编辑行为**:设置自动缩进、制表符宽度。 ``` set autoindent set shiftwidth=4 set tabstop=4 ``` 4. **颜色方案**:选择或定义喜欢的颜色主题。 ``` colorscheme desert ...
1. "zz.txt":很可能包含的是80C196的汇编源代码,程序员可能已经将通讯程序的逻辑用汇编语言编写好,以实现高效、精确的控制。 2. "www.pudn.com.txt":这个文件名看起来像是来源于一个网站URL,PUDN(普渡大学网络...
Vizz开源库是一个专为C++开发者设计的开源项目,其目标是简化使用 Visualization Toolkit (VTK) 进行分布式可视化的流程。...如果你是C++程序员,并且对分布式系统和可视化有浓厚的兴趣,Vizz将是一个值得探索的工具。
- **特点**: CSDN 是中国最著名的程序员社区之一,提供了大量的博客和技术文章,覆盖了广泛的IT技术领域,包括Java。 - **推荐理由**: CSDN 拥有庞大的用户群体,这里的博客和技术文章质量很高,非常适合自学Java。 ...
再如李白买酒问题和花结果的可能性这类问题,虽然属于数学或逻辑推理范畴,但它们对于锻炼求职者的逻辑思维能力非常有帮助。在编程中,逻辑思维是不可或缺的,无论是设计算法还是编写业务逻辑,都需要求职者具备清晰...
- **Unity 2018**: 这个版本主要加强了对高清渲染的支持,并引入了HDRP(High Definition Render Pipeline)和LWRP( Lightweight Render Pipeline)两种新的渲染管线,为开发者提供了更多的选择。 - **Unity 2019**...
在Java、.NET等编程语言中,垃圾回收机制是其内存管理的核心部分,它自动识别并释放不再使用的对象所占用的内存空间,避免了程序员手动进行内存管理可能导致的内存泄漏问题。 "zz差分包"这个术语可能是特定项目或...