国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言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团队中获得信任,属于高级程序员和架构师。
那么,您属于哪个版本的程序员呢?
分享到:
相关推荐
标题 "你是合格的程序员吗?—合格程序员应该具备的12种能力" 指向了一个讨论合格程序员所需技能的主题。在这个行业中,成为一个优秀的程序员不仅仅是掌握编程语言那么简单,还需要一系列综合能力。以下是对这些能力...
【标题】"RSS程序员 版本1.6升级"涉及的知识点主要集中在RSS技术、软件升级和移动应用开发上。RSS(Really Simple Syndication)是一种用于发布和聚合内容的XML格式,常见于新闻网站和博客,它允许用户订阅并获取...
它涵盖了程序员需要掌握的各种关键知识点,无论你是刚踏入编程领域的新人,还是希望巩固和提升现有技能的开发者,都能从中受益。 首先,教材的基础部分将引导你走进编程世界,讲解编程语言的基本语法和逻辑。这包括...
标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...
程序员08年第一期pdf版本程序员08年第一期pdf版本程序员08年第一期pdf版本程序员08年第一期pdf版本程序员08年第一期pdf版本程序员08年第一期pdf版本程序员08年第一期pdf版本
5. **版本控制**:允许程序员对代码片段进行版本管理,查看历史修改记录,方便回溯。 6. **共享与协作**:可以将代码笔记分享给团队成员,促进团队间的知识交流和合作。 7. **云同步**:支持云同步功能,确保代码...
《程序员面试宝典》是一本全面涵盖程序员面试过程中的各个重要环节的指南,旨在帮助求职者在笔试、电话面试和面对面面试中取得成功。这本书共375页,提供了详尽且全面的内容,确保读者能够充分准备每一个可能遇到的...
这本书的完整版本包含了丰富的内容,旨在帮助程序员清晰地了解自己的技术短板,并提供提升的方向。以下是对书中核心知识点的详细解读: 1. **数据结构与算法**:面试中常常会涉及数据结构的使用,如数组、链表、栈...
从描述中提到的“留言并留下你的邮箱”,我们可以推测这个压缩包可能包含了历年的试题PDF、Word文档或者是电子表格形式的题目和答案。这些文件可能按照年份或者考试季度分类,便于考生按需查阅和练习。 通过学习...
程序员需要的工具不仅仅限于编程环境,还包括版本控制、项目管理、自动化测试、代码分析等多方面的应用。例如,Git是目前最流行的版本控制系统,它帮助程序员跟踪代码变更,协同开发;Trello或Jira则是项目管理工具...
【标题】:“程序员浏览器”指的是专门针对开发人员设计的浏览器,这类浏览器通常具有增强的开发者工具,便于前端工程师进行网页调试、代码分析以及性能优化。它们可能会集成多种实用功能,如代码高亮、网络请求查看...
【标题】"程序员青戈毕设资料库,程序员青戈毕设资料" 涵盖了程序员在进行毕业设计时可能会遇到的各种知识点,这通常包括软件工程的基本原理、编程语言的应用、项目管理、数据库设计、前端开发、后端开发、算法与...
5. **版本控制**:对于重要的技巧或代码,提供版本历史,以便跟踪修改和回滚。 6. **数据同步**:支持云同步功能,确保用户的数据在多设备间保持一致。 7. **社区分享**:可能拥有一个内置的社区或论坛,让用户可以...
8. **编程实践**:实际编程题目的出现,可能是让你编写一段满足特定需求的代码,考察你的代码编写和调试能力。 通过对以上知识点的学习和掌握,初级程序员可以逐步提升自己的技能,为后续的进阶学习和职业发展打下...
### Java程序员的职业发展路径 #### 一、Java程序员的基础技能要求 Java程序员作为软件开发领域的重要组成部分,在工作之前需要具备一系列的基本技能与专业知识。根据给定文件中的描述,我们可以总结出以下几点: ...
总的来说,《程序员面试笔试宝典》是准备Java面试的全面资源,无论你是初学者还是有经验的开发者,都能从中找到提升自己技术水平和面试竞争力的宝贵资料。通过系统地学习和复习这些内容,你将能够自信地应对各种面试...
在开发过程中,程序员还需要确保应用的稳定性和兼容性,这包括进行单元测试、集成测试和性能测试,以及适配各种屏幕尺寸和Android版本。此外,遵循Material Design指南,提供良好的用户界面设计也是必不可少的。 总...
书中可能会涉及需求分析、项目规划、版本控制、团队协作等内容,帮助程序员提升软件开发的整体流程效率。 8. **编程思想**:书中还可能探讨一些抽象思维、问题解决策略和创新思考的方式,比如迭代思维、函数式编程...
4. **版本控制**:强调对Git或其他版本控制工具的熟练使用,说明如何协作开发和解决冲突。 5. **测试与调试**:提及单元测试工具(如JUnit)的使用,以及如何进行有效的代码调试。 6. **持续集成/持续部署(CI/CD)*...
C++黑马程序员学习资料,附赠《InterviewGuide第四版By阿秀》、《LeetCode刷题手册》、《背包问题九讲》、《算法图解》pdf版本,三个基础课程文档手册及三个实验项目,由简到繁分别为《通讯录管理系统》、《职工管理...