`
kong_bai
  • 浏览: 136589 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

程序员五大层次,你属于哪一层?

阅读更多

一定律以及程序员工作效率的差别,程序员因此被分为五大类:

 

1. 大师级程序员(Visionary/Artist Programmer)

 

大师级程序员是软件界绝对的稀有种族,他们可以创造出99.9%的程序员所创造不出来的东西。他们发明新的应用和软件模式来驱动软件产业的发展。Napster, Netscape以及World Wide Web都是大师级程序员创造的。对他们而言,软件更多的是艺术而非科学。在这个级别,速度和质量不是最重要的,他们创造出的财富才是最重要的。许多开发团队或者公司顶多也就一个大师级程序员,通常是这个公司的技术创始人或者CTO。

 

2.开拓者程序员(Trailblazer Programmer)

 

开拓者程序员通常带来很好的主意和趋势。他们通常是最终产品的原型创作者,他们一天做出的事情大部分程序员需要几周甚至几个月。开拓者程序员总是在尝试新工具、新技术,不断地学习和搜寻方法来提高工作效率,并通常是其他程序员的导师和老师,而且你经常会发现当其他程序员早已离开的时候他们却依然工作到深夜。尽管这样级别的程序员工资很高,但是每个成功的公司或团队还是应该配备一两个开拓者程序员。

 

3.骨干程序员( Workhorse Programmer)

 

骨干程序员是一个公司或者开发团队的脊柱,这些人尽管不是很有创新性,但往往比较高效且值得信赖。给一位骨干程序员一套模板和合适的工具,他们总能以最短的时间交出错误最少的代码。


4.机械程序员( Drone Programmer)

 

许多程序员就是朝九晚五地为了填塞下自己钱包的机械程序员。他们不愿意接触新技术、避免学习新事物。许多公司或者开发团队都有许多这样的机械程序员,因为他们很便宜,但岂不知更贵的程序员才真正地更便宜。

 

5.白痴程序员( Idiot Programmer)

 

林子大了什么鸟都有,软件领域也不例外。编程需要抽象和逻辑思维,然而一些尚不具备此能力者由于向往着不错的薪水而加入了该领域。白痴程序员总是对最简单的算法也搞不清楚,他们总是错过软件截止日期,终日无所获。白痴程序员最好的出路就是换行。(王玉磊/译)

分享到:
评论

相关推荐

    程序员是如何制作罗盘?

    罗盘主要由位于盘中央的磁针和一系列同心圆圈组成,每一个圆圈都代表着中国古人对于宇宙大系统中某一个层次信息的理解。 中国古人认为,人的气场受宇宙的气场控制,人与宇宙和谐就是吉,人与宇宙不和谐就是凶。于是...

    Foritify 19.txt

    该软件可以全方面的解决你的源码问题,通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,扫描...

    网站架构的设计方案.doc

    领域层最常犯的错误就是把本应属于领域层的逻辑泄露到了其他层次, 比如说在一个CMS系统,对热门文章的定义是这样的:每天被浏览的次数多 于1000次,被评论的次数多于100次,这样的文章就是热门文章。对于一个CMS来...

    操作系统精髓与设计原理答案

    Bi = 把一个数据块从层次i+1的存储器上传输到层次i的存储器上所需时间 高速缓冲存储器作为是存储器层次1;主存为存储器层次2;针对所有的N层存储器层以此类推。有: Ts的引用更复杂,我们从概率论入手:所期望...

    基于记录的应用程序设计

    我们同样也需要用某种方式表示问题的结束,对程序员和课程编写者来讲,最简单的方法是定义一个标记值,在这个程序中,可以选定用五个 “-”来表示文件结束。另外,程序同样需要允许课程设计者指明答案/下一个问题的...

    算法导论习题参考答案(学习中。。。)

     ★编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。   以相当的深度介绍了许多常用的数据结构和有效的算法,使得这些算法的设计和分析易于被各个层次的读者所理解。...

    solution to CLR(算法导论习题答案)

     ★编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。   以相当的深度介绍了许多常用的数据结构和有效的算法,使得这些算法的设计和分析易于被各个层次的读者所理解。...

    [算法导论(英文版).djvu

     ★编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。   以相当的深度介绍了许多常用的数据结构和有效的算法,使得这些算法的设计和分析易于被各个层次的读者所理解。...

    软件工程-理论与实践(许家珆)习题答案

    比较复杂的系统不能画在一张纸上,逐层分解的画法可以控制每一层的复杂度。 顶层:将整个系统作为一个加工,描述系统边界(输入与输出)。 中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。 ...

    基于记录应用程序设计

    我们同样也需要用某种方式表示问题的结束,对程序员和课程编写者来讲,最简单的方法是定义一个标记值,在这个程序中,可以选定用五个 “-”来表示文件结束。另外,程序同样需要允许课程设计者指明答案/下一个问题的...

    最近很火的分布式数据库 RethinkDB.zip

    这是你让RethinkDB查询一个文件时的命令:r.table('users').get('coffeemug').run()然后这是你从RethinkDB订阅更新流时用到的语句,在任何时候文档发生了变化就会推送:r.table('users').get('coffeemug').changes()...

    C#微软培训资料

    在本章中你将了解 Microsoft.NET 的概念 .NET 框架 C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 ...

    《Visual Studio .NET使用技巧手册》精选版

    屏幕上的每一块区域都可以让你快速访问到常用的命令,执行常用的操作以及对项目和解决方案的控制与修改。本章中收录的技巧涵盖了许多方面,从解决方案浏览窗口到所有窗口的定位,从管理宏,修改菜单项,到其它一些不...

    基于ARM的11种嵌入式操作系统大盘点

    Android 是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。Android 作为一个完全开源的操作系统,是由操作系统Linux、中间件以及核心应用程序组成的软件栈。通过 android SDK ...

    C语言标准教程第一章 C语言概论

    C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定...

    C++入门到精通

    为可能 这一章利用多继承和虚拟继承 把第 16 章的模板类例子扩展成一个三层的类模板层 次结构 第 19 章介绍 RTTI 运行时刻类型识别 设施 使用 RTTI我们的程序在执行过程中可 以查询一个多态类对象的类型 例如 ...

    算法导论中文版

     ★算法领域的标准教材,全球多所知名大学选用 ★MIT名师联手铸就,被誉为“计算机算法的圣经” ★编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。 以相当的深度介绍...

    VB 网络聊天系统的设计与实现

    关键字:Winsock 即时通讯 点对点 数据流图 数据字典 结构图 层次输入输出处理图 伪码 总结 本文详细介绍了UDP协议,Net WinSock SDK提供给Visual B#用以操作UDP协议的主要类库,以及通过一个具体而使用的...

Global site tag (gtag.js) - Google Analytics