当前位置: 首页 > 科技观察

盘点一下:程序员的八个级别,你属于哪个级别?

时间:2023-03-21 23:53:11 科技观察

本文来自JeffAtwood的文章《The Eight Levels Of Programmers》。在开正题之前,先说说“程序员”这个词。我认为Programmer作为“程序员”的定义太低了。应该叫“程序员”。Developers”或“R&D人员”,因为一个成熟的Programmer不仅关注Program或Code(当然Coding是基本功要求),还需要关注程序的需求背景、业务、架构及其长进化一词,也许在团队中分工不同,这些都不是Programmer关注的重点,但是如果你花时间去理解和理解它们,对Program肯定是有帮助的,以上文字只是我的理解。下面JeffAtwood的文章中对Programmer的定义,看似是从编程能力和贡献来划分的,但实际上,高阶Programmer绝不会关心Code本身,啰嗦之后我们来看看Dana的原文:你有没有被问过这样一个经典的面试问题,“你对五年后的自己有什么规划?”这种问题通常得不到很严肃的回答,就像另一个沉闷压抑的问题,“你最大的弱点是什么?”但我不这么认为,我认为这些都是一些严肃的问题,值得我们认真思考。不是为面试官做好事,而是为自己的未来做好事。“你对五年后的自己有什么规划?”这个问题通常会引出一些正式的说辞,大多数人在面对面试时都会提前做好这样的准备。面试官。有一些通常不会涉及的深层问题:作为一名程序员,你未来可能的发展道路是什么?是的,我们编程是因为我们喜欢它,所以看起来我们很幸运。但是当你50岁时,做你还想坐在电脑前编程吗?当你60岁的时候?对于一个想成为程序员的人来说,最好的职业道路是什么?你想听听,如果我告诉你,这是个笑话,有八个级别程序员。1个死程序员,这是***级别,你的代码在你死后还活着。你将在计算机的历史上写下永恒的一笔。其他程序员将研究您的工作和著作。您可能赢得了图灵奖,或者撰写了一篇有影响力的论文,或者发明了一两项影响编程历史进程的重要技术。您不仅在维基百科上有一个条目——还有一个专门介绍您的生活和工作的网站。很少有程序员在他们的一生中达到这个水平。示例:EdzhelDykstra(图灵奖获得者)、Knuth(现代计算机科学之父)、AlanKay(图灵奖获得者)2位成功的程序员、知名人士和创建的公司——甚至整个行业——都拥有自己的代码。这种程序员享有绝对的自由:自由选择他想做什么。并且可以与和他在一起的其他程序员分享这种自由。这是大多数程序员向往的水平。达到这个水平通常更多的是关于商业技能而不是编程。例子:BillGates、JohnCarmack(《雷神之锤》电子游戏创始人)、DHH(RubyonRails框架创始人)3位著名程序员,这也是一个很好的水平,但前提是你有稳定的工作。你在编程界很有名。但出名并不意味着你可以把它变成金钱或帮助你。出名固然好,但成功则更好。你可以在大型知名科技公司工作,也可以在有影响力的小公司工作,也可以加入小型创业团队。无论哪种方式,其他程序员都听说过您,并且您在该领域具有积极影响。4一个工作的程序员,你是一个专业成功的软件开发人员。你的技能水平让你很受欢迎,你永远不必担心找不到好工作。你的同事仰望你。因为你的存在,你工作过的每家公司都在某种程度上得到了改进或增强。但是你还能做什么?5一般程序员,在这个级别你是一个好的程序员,自我意识到你不是一个好的程序员。也许永远不会。天才和成功通常没有太大联系。如果您知道如何经营企业并具备人际交往能力,您可能会非常成功。如果你是一个普通的程序员并且想以此为生,你会很聪明地知道你不一定需要编码。不要低估自知的力量。很少有人能做到这一点。没有天赋什么都不是。有勇气。弄清楚你擅长什么,并朝着这个目标努力。坚持。6业余程序员业余程序员喜欢编程并且看得出来:他们可以成为有前途的学生或实习生。他们可能会向开源软件捐赠代码,或者在业余时间开发有趣的“只是为了好玩”的程序或网站。他们的计划和想法体现了热情和希望。成为业余程序员是一件好事;这个级别的人可以迅速跃升为一名工作程序员。7匿名程序员,典型的程序员。程序员。能干(通常)但平凡。也许在大公司、集团工作。只是一份工作,不是生活的全部。没有什么问题。8糟糕的程序员,落入这个角色的人没有任何技能和能力。对于他的同事来说,他所涉及的任何事情都会变得痛苦和折磨——另一个糟糕的程序员可能是个例外,他缺乏基本的技能来识别他正在与另一个糟糕的程序员一起工作。也许这是所有糟糕程序员的标准特征。这些人与编程无关——但他们在编程。这些不是很严肃的分类。每个程序员在职业道路上都有自己的追求。但它可以给你一些灵感,让你思考十年、二十年、三十年——也许是你的一生——你能取得什么成就。你最欣赏哪位著名的程序员?他们有什么成就让你钦佩?简而言之,作为一名程序员,你想成为什么样的人?