程序员水平分级 你属于哪一类?

游戏打怪是为了升级,那么,程序员开发一个个程序也是升级,到底程序员是如何一步步往上升级的,程序员又是怎么分级的?你想不想知道自己现在达到哪一级了?

首先要明白什么是程序员?设计自己的 Apache Web 服务器的家伙?制作一个复杂的 Excel 电子表格的家伙?能自己开发 RPG 的家伙?Minecraft 的玩家?这些都属于程序员的哪一个级别呢?当我们说:“每个人都需要了解编程”,这句话意味着什么?

所以,我们需要制定一个程序员的等级,以便让程序员们了解自己所处的环境和发展方向。

 Level 1,只读——这些人了解如何设置 Web 服务器的方法,在普通情况下能够通过配置方式获取工作所需要的东西。作为基础他们知道如何使用文本编辑器和文件系统,还拥有移动和操作文件的能力,如 ZIP 和 FTP。也能在结构中使用抽象符号,解析方式以及系统技能。

Level 2,脚本——能够编写线性脚本告诉电脑要做什么,能够学习和使用自己的符号。如果有足够的时间和书面指导,他们可以使用 bash 或是 VB 编写一些简单脚本,为自己做些实用的事情。

  Level 3,管理员——这些人了解库和 API,并有能力学习更多。他们知道不管使用什么脚本语言都都需要连接库。如果他们遇到问题,可以通过阅读使用手册解决,或是在网上搜索库并利用找到的结果。在工作中他能够发现或是开发自己的符号(使用 struct 编写函数或是声明)。大多数系统程序员都处在这个等级阶段,Excel 的初级宏系统用户也同样处在这个阶段。

 Level 4,Object-Dot-Method——刚开始学习 coupling 和 cohesion,他们着手组织自己的脚本面对公共对象、私有成员和方法。这里有六周编程奇迹,介绍 .NET 程序员。这些人能玩转导向,了解库和构建类。如果不使用类,他们也能够创建自己的模块或是代码文件。高级脚本用户可远不止这样。有一些高级 Excel 商店和股票经纪,他们使用自己 VBA 作为基础代码,而没有意识到自己处于这个级别。

  Level 5,多重框架——一旦上升到这个级别,将会遇到各种各样的麻烦。常见编程下一阶段就是能够使用多重框架。这些人可以编写C#,但也知道如何创建表格和编写 SQL 语句;可以编写C,同时也会使用 JavaScript 和 HTML。这两个技能并不代表他们就是大师,只是要学会在理解同一个问题上,需要通过多种不同的方式来找寻答案。

   Level 6,初级建筑师——这阶段的人才算是真正的从事编程工作。他们每天的工作就是要深入了解库和 API。并不是要求他们必须记住这些,但是要了解用不同的模式去实现自己的目标。想要在Win32 中绘制?可能需要一些GDI资源句柄。他们知道句柄是在系统表某处的一个UInt32 hash——常见的 Win32 范例。想在自己的库中添加 JQuery?新库里有很多格式,他们应该知道怎么做并且能解释其工作方式。与此同时,也要开始学习如何重构自己的代码并突显亮点,如何增强其代码的质量,如何编写高效的Android代码。

  Level 7,资深建筑师——他们的时间是用来创建自己的API,平台或是库。也许这是一个大项目的必需品,也许只是他们个人想把自己的学识推广出去。他们开发的系统为用户解决实际问题,所面对的受众群是 Level 5 程序员。在这个阶段需要深入OOAD,模板和实践。我们大多数人在刚开始都会搞得一团糟,不能理解怎么用更加简单的方法将复杂事情简易化。这个阶段需要历经很长时间,需要不断修正错误,开发高质量的系统并创建更复杂、灵活性高的库。当他们从外面接受几个月的特定培训回来,肯定希望团队其他人都能理解他做了什么。

 Level 8,Meta——在某些时候,希望这些人能意识到大量复杂信息投入结构和构架中可以更好地形容特定域的语言,其受众群体是Level 4程序员。代码的复杂性增大,就能减少代码的数量,DSL 开放可以将代码展示到各种地方。总之,他们将成为程序员使用脚本语言方面的作家。通过易于使用的脚本和导向将他们的系统开放给初学者。可以分别学习这些技能,但大多数情况是在复杂的结构后,最终走向 DSL 的道路。很快就能看到最初规模:利用自己编写的 DSL 能够很好的理解问题。

 Level 9,Functional Nirvana——慢慢接近奖金,他们要开始学习如何编写功能规划。其受众群是 Level 3 的程序员。FP 是必不可少的,帮助他们轻松的脱离DSL,并能够大幅度减少代码数量来解决问题,同时拥有较高的扩展性。某些功能语言在系统运行时可以 hot–swap,慢慢就会感觉到已经接近先进水平。FP 是一切问题的答案。虽然 FP 可以减少BUG,提升开发效率,但代码也相对来说很难学。程序员的脑海里需要时刻记忆很多东西——他们必须要记住繁琐的复杂符号。但是,结根到底 FP 只是道路上的一个阶段,很多类似 OOAD。

 Level 10,面向语言设计师——他们查看所有新创建的编程语言程序。惟一的区别是新语言应该做什么。 他们了解如何开发面向对象语言,语言功能和脚本语言,知道每一个语言在何时何地的用途。其受众群是 Level 2 程序员。他们对每一个项目都会问:“这个项目我们需要什么样的语言?”在项目完结后他们将会使用一个很好的工具Safe.ijiami,既解决了问题并易于理解还扩展了入门级程序员。大多数项目不需要面向语言设计师。

上帝级别,计算机科学家——要么就是编程的顶峰要么就不存在,这个取决于自己的观点。这个就是科学规划,在里面有很多很酷的东西。任何一个人都是其受众群体。但重点不是在于做人们想要的东西,而是促进学术的发展。因为大多数编程能力水平都是基于人而言,人们居住在世界各地,也是必要条件之一。如何简单的在两国之间相互来往?

你在这里可能受到很多启发,例如,首先学习函数式编程再学习 OOP。你也可以开发自己的编译器,这不是大学的乐趣吗?或是程序集,或是真正理解集理论,或是如何开发适用于数据库与编程数据的结构。或是开发你的第一个编程工具。

这就是程序员一步一步升级的道路,看完后,你身在哪一级,又该往哪一级升了?

时间: 2024-10-20 20:07:22

程序员水平分级 你属于哪一类?的相关文章

为什么中国程序员水平一直上不了层次?无非是这些原因!

纵览,国内比较大的软件公司(以下统一简称"国软"),清一色都是做政府项目的(他们能做大的原因我就不用说了吧),真正能做大的国软又有几家呢?这是为什么呢? 今天在这里就给大家简单分析下: 一."作坊"式管理 "作坊"往往是效率最高的,国软几乎都是从作坊走过来的,但把作坊式的管理模式套用到一个不断壮大的公司中显然是不行的.组织架构到达一定程度后就必然要进行分工的细化,依靠作坊式的"暴力开发"是行不通的. 二."法制社会&

(转)程序员如何快速从“码畜”到“中级水平”需要的10个秘诀

1.学习另一门语言 其实你学的是哪一门语言并没有关系,但是学习另一门语言(不管你已经了解多少种语言)将把你打造 为更好的程序员.能学会一门与你日常使用的语言风格迥异的语言则更佳.打个比方,如果你是C#程序 员,学习VB.NET或者Java对你的帮助就没有学习Ruby或者Groovy大. 我说“学另一门语言”的意思是要真正学会它.学习一门语言包括三个领域的知识:语法.内置操作符 和库,以及“如何使用”.前面两个简单:我认为一名有经验的程序员,根据语言的不同,能在半小时 到几小时内掌握足以维护代码的

讨论:程序员高手和菜鸟的区别是什么?

随着做软件的时间越来越长,我发现,做软件越来越难.难在哪?难在怎么做出一个好的软件.好的软件标准是什么?两个词,好用,好看!程序员的最大价值在于做出好用又好看的软件的能力.因此,我觉得程序员的价值绝对不在于技术本身,而在于做出好用且好看软件的能力.这是一个开放性的话题,每一个人都是菜鸟过来的,我希望和祝愿每一个技术人员都能尽快成为高手,也希望更多老鸟来分享经验.在这篇文章,我将根据自己的经验来分享,期望能给人有更多的有帮助的信息.在这里,我只想从技术角度来分析,技术不一定和收入相关联的. 1 命

讨论:程序员高手和菜鸟的区别是什么? - 道法自然

随着做软件的时间越来越长,我发现,做软件越来越难.难在哪?难在怎么做出一个好的软件.好的软件标准是什么?两个词,好用,好看!程序员的最大价值在于做出好用又好看的软件的能力.因此,我觉得程序员的价值绝对不在于技术本身,而在于做出好用且好看软件的能力.这是一个开放性的话题,每一个人都是菜鸟过来的,我希望和祝愿每一个技术人员都能尽快成为高手,也希望更多老鸟来分享经验.在这篇文章,我将根据自己的经验来分享,期望能给人有更多的有帮助的信息.在这里,我只想从技术角度来分析,技术不一定和收入相关联的. 1 命

程序员的十个层次,你属于哪一层?

自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外.当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已. 那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知道到底有没有差距,差距

微信熟人牛牛程序安装微信熟人牛牛程序安装2017年 Java 程序员,风光背后的危机

不得不承认,经历过行业的飞速发展期微信熟人牛牛程序安装(h5.hxforum.com) 联系方式170618633533企鹅2952777280源码出售 房卡出售 后台出租有意者私聊扣扣,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说?的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨,但是市场似乎对他们依然青睐有加.这些承担着技术招聘市场中高供给高需求的 Java 程序员在 17 年的招聘市场上,真的还能如此风光吗?还是埋下了一些

程序员的十个层次(转)

自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外.当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已. 那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知道到底有没有差距,差距

如何从程序员到架构师?

作为程序员,我们应该如何去规划好自己的职业道路? 作为程序员群体的一员,我发现身边很多同学都非常的踏实,虽然这是一个很好的素质,但我们除了踏实做事以外,也需要多抬头看看路.才能让自己在职业道路上走的更稳更长久. 身边很多同学都知道去追求升职加薪,但却很少去考虑一个完整的职业规划,很少去考虑自己的职业目标.对于以后自己是去做 技术管理?还是做 技术架构?又或者是干脆转行?很少去思考. 因此,今天我就来跟大家简单聊一聊程序员的职业发展路径. 一.先看看各技术层级的要求? 在聊程序员的发展之前,我们先

一个程序员的自我修养

在网上看到一篇程序员的自我修养,深以为然,不禁摘录一些,勉励自己 一个好的开发人员,应该能够全面.高效.严谨的去处理任何软件程序和业务问题,成为一个好的开发,是一个很有意思的话题,不过无论这个话题如何开展,基础两个字必不可少,虽然代码量是衡量开发能力的重要指标,但仅能够熟练的进行代码编写是不够的,更要能深刻的理解技术原理和业务逻辑,扎实的个人基础和技术基础往往会促进代码的编写,更游刃有余的解决问题. 下面说的一些基础,可能绝大部分开发人员都不会在意甚至忽略,但恰恰这些才是开发大厦的基石. 1.科