from: http://blog.csdn.net/dc_726/article/details/77728729

看到一篇有趣的文章The Eight Levels of Programmers。以前似乎看过不少这种程序员的多少个级别、境界,但这篇语言很风趣,而且分类比较细化,让人觉得挺合情合理、无法反驳的。绝大部分人想成为一名优秀程序员的人,通过努力可以避免1,因为在编程上的追求避开了2,最终可能都停留在4或5。但努力追寻是没有错的,不然没有梦想和咸鱼有什么分别:)。注意一点,作者并没有无脑地批判谁,并没有说会编程、代码写得好就怎样,其他都是不求上进、不务正业。他全文一直都在客观强调一点:每个人的追求不同,想好自己想要活成什么样子,然后就去努力

下面就简单翻译一下,说是翻译,没有逐字逐句。而且加了一些自己想说的话,主要是传达一下作者的主要想法。另外倒排了一下八个Level的顺序,这样读起来可能更有意思。希望大家阅读愉快。


Have you ever gotten that classic job interview question, “where do you see yourself in five years?” When asked, I’m always mentally transported back to a certain Twisted Sister video from 1984.

You want to rock, naturally! Or at least be a rockstar programmer. It’s not a question that typically gets a serious answer – sort of like that other old groan-inducing interview chestnut, “what’s your greatest weakness?” It’s that you sometimes rock too hard, right? Innocent bystanders could get hurt.

But I think this is a different and more serious class of question, one that deserves real consideration. Not for the interviewer’s benefit, but for your own benefit.

The “where do you see yourself in five years” question is sort of glib, and most people have a pat answer they give to interviewers. But it does raise some deeper concerns: what is the potential career path for a software developer? Sure, we do this stuff because we love it, and we’re very fortunate in that regard. But will you be sitting in front of your computer programming when you’re 50? When you’re 60? What is the best possible career outcome for a programmer who aspires to be.. well, a programmer?

What if I told you, with tongue firmly planted in cheek, that there were Eight Levels of Programmers?

你遇到过这种典型的面试问题吗:“你觉得你五年后会在哪?”每当被问到时,我总是Twisted Sister视频里的片段。当然,你想成为大牛!至少成为一个明星程序员。所以这种问题通常都得不到严肃的回答,就像另一个常见的问题,“你最大的弱点是什么”。但我觉得有一类问题是值得严肃思考的,不是为了面试,而是为了你自己。像“你觉得你五年后会在哪?”这种问题,一般面试者都会准备好一些比较圆滑和恰到好处的答案。但一个程序员真正可能的职业发展路径才是真正应该担忧的问题。当你50岁了你依然坐在电脑前编程?然后60岁?对于一个渴望成为程序员的程序员,什么才是他最可能的职业终点呢?要是我现在告诉你程序员有八重境界你会怎么样?


1.Bad Programmer - 糟糕透顶

People who somehow fell into the programmer role without an iota of skill or ability. Everything they touch turns into pain and suffering for their fellow programmers – with the possible exception of other Bad Programmers, who lack even the rudimentary skill required to tell that they’re working with another Bad Programmer.

Which is, perhaps, the hallmark of all Bad Programmers. These people have no business writing code of any kind – but they do, anyway.

没有足够技巧和能力的人被分配程序员的角色,(于是悲剧就发生了)。每一件他们接手的事情都变成了对他们同事的痛苦和折磨。唯一的例外就是他们的同事也同样地糟糕,糟糕到无法区分他们也在跟糟糕的程序员共事,这可能是所有糟糕程序员的标志。这些人不应该写代码,但是他们却的确写了……


2.Unknown Programmer - 无名小卒

The proverbial typical programmer. Joe Coder. Competent (usually) but unremarkable. Probably works for a large, anonymous MegaCorp. It’s just a job, not their entire life. Nothing wrong with that, either.

典型的程序员,自大自满但又不够出色。可能在大公司上班,但却仅仅把编程当作一份工作,而非生活的全部,甚至大部分。当然这也没什么错,只是追求不同


3.Amateur Programmer - 业余水准

An amateur programmer loves to code, and it shows: they might be a promising student or intern, or perhaps they’re contributing to open source projects, or building interesting “just for fun” applications or websites in their spare time. Their code and ideas show promise and enthusiasm.

Being an amateur is a good thing; from this level one can rapidly rise to become a working programmer.

业余程序员与前两者不同,他们喜欢编码,是自愿做这一行的。他们可能是很有潜力的学生或实习生,或者业余时间为开源项目或自己的小网站做贡献。他们有潜力也有热情,这是好事,达到这一级后就能很快成为一名不错的程序员。


4.Average Programmer - 平庸无奇

At this level you are a good enough programmer to realize that you’re not a great programmer. And you might never be.

Talent often has little to do with success. You can be very successful if you have business and people skills. If you are an average programmer but manage to make a living at it then you are talented, just not necessarily at coding.

Don’t knock the value of self-awareness. It’s more rare than you realize. There’s nothing wrong with lacking talent. Be bold. Figure out what you’re good at, and pursue it. Aggressively.

你已经足够好了,但不够出色,你可能永远也不会…… 天赋通常与成功没有太大关系,你可以因为商业头脑和人际关系成功。如果你是一名普普通通的程序员,但是生活得还不错,那说明你挺有天赋,只不过不是在编码上。自省的价值远大于你想象,所以勇敢面对,没有编码天赋并没有任何错。想清楚你擅长什么,并一路追寻,大胆地,这就够了


5.Working Programmer - 小有所成

You have a successful career as a software developer. Your skills are always in demand and you never have to look very long or hard to find a great job. Your peers respect you. Every company you work with is improved and enriched in some way by your presence.

But where do you go from there?

作为软件工程师,你已经有了一个堪称成功的职业生涯。你的经验、技巧在市场中很抢手,你从来都不用为找工作发愁。你的同行们羡慕你,每家你工作过的公司都因为你的存在而有了改变。但是,你还能更进一步吗?


6.Famous Programmer - 名声在外

This is also a good place to be, but not unless you also have a day job.

You’re famous in programming circles. But being famous doesn’t necessarily mean you can turn a profit and support yourself. Famous is good, but successful is better. You probably work for a large, well known technology company, an influential small company, or you’re a part of a modest startup team. Either way, other programmers have heard of you, and you’re having a positive impact on the field.

这已经是一个非常不错的位置了,你在程序员圈子里很有名气,但并不意味着你很有钱。你可能也在为某个著名的大公司或非常有影响力的小创业公司工作。不管哪种方式,其他程序员都听说过你,你在这个领域有着足够的影响力。


7.Successful Programmer - 成功典范

Programmers who are both well known and have created entire businesses – perhaps even whole industries – around their code. These programmers have given themselves the real freedom zero: the freedom to decide for themselves what they want to work on. And to share that freedom with their fellow programmers.

This is the level to which most programmers should aspire. Getting to this level often depends more on business skills than programming.

Examples: Gates, Carmack, DHH

这一级别的程序员在名气和商业方面都很成功,甚至可能整个行业为围着你的代码转。他们有足够的自由,决定自己想做什么。大部分程序员都想成为他们,但这需要商业头脑多于编程技巧。这一级别的例子有:比尔盖茨、卡马克(Doom引擎、计算机图形学)、DHH(RoR之父)。


8.Dead Programmer - 名垂青史

This is the highest level. Your code has survived and transcended your death. You are a part of the permanent historical record of computing. Other programmers study your work and writing. You may have won a Turing Award, or written influential papers, or invented one or more pieces of fundamental technology that have affected the course of programming as we know it. You don’t just have a wikipedia entry – there are entire websites dedicated to studying your life and work.

Very few programmers ever achieve this level in their own lifetimes.

Examples: Dijkstra, Knuth, Kay

现在就到了最高境界了。你的代码已经超越了你的生命,在你死后依然被人学习。你是整个计算史的一部分,其他程序员都在研究你的代码和文章。你可能得过图灵奖,或写过影响深远的论文,或发明了多项改变编程方式的基础技术。你甚至不只有维基百科的条目,还有专门的网站介绍你的生平和成就。非常非常少的人能在一生中达到这个境界。例子有:迪杰斯特拉(结构化编程、算法)、唐纳德(TAOCP)、Kay。

These levels aren’t entirely serious. Not every programmer aspires to the same things in their career. But it’s illuminating to consider what a programmer could accomplish in ten years, twenty years, or thirty years – perhaps even a lifetime. Which notable programmers do you admire the most? What did they accomplish to earn your admiration?

In short, what do you wanna do with your life?

这些级别并不是绝对的,也不是所有程序员毕生都在追求同样的东西。但作为程序员,努力思考未来十年、二十年、三十年甚至一辈子是值得的、有启发的事。想想你认识的程序员里谁最牛?他们是如何得到别人的尊重和敬仰?一句话总结就是:你究竟想要活成什么样子?

posted @ 2017-09-07 17:31 the_tops 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 图灵丛书的一句话说的很好,Standing on the shoulders of giants,是的,我们一直站在巨人的肩上,我们起步都在沿着他们的轨迹前行,之后慢慢的在前人的开发基础或者规范上写出一些不一样的东西,或者也在慢慢的完善他们的‘半成品’,中国的IT是近三四十年代才慢慢流入中国的,评心 阅读全文
posted @ 2017-01-11 16:02 the_tops 阅读(749) 评论(0) 推荐(0) 编辑
摘要: 【世界名人的睡眠与成功】 Ocindy 参加活动: 0 次 组织活动: 0 次 楼主 电梯直达 发表于 2014-3-20 22:06:38 | 只看该作者 |只看大图 2 睡眠时间, 作息时间, 霍华德, 乔布斯, 应用程序 本帖最后由 Ocindy 于 2014-3-20 22:09 编辑 <i 阅读全文
posted @ 2016-09-24 12:35 the_tops 阅读(4215) 评论(0) 推荐(0) 编辑
摘要: 程序员必须掌握的6种软技能 如果你想要开启作为 web 开发人员的职业生涯,那么你需要涉及的不仅仅是知道如何写代码。 有一些通用的软技能几乎可用于每个领域——包括技术行业。 成为软件开发人员涉及的不仅仅是编写代码。自从我开始我的第一份作为软件开发人员的工作之后,我很快就知道了这一点。如果你想要在这个 阅读全文
posted @ 2016-06-29 19:51 the_tops 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 原文地址:https://blog.csdn.net/get_set/article/details/51276609 最近对ubuntu卸载参数的详细程度了解不够;转载已了解查用。 如果你关注搜索到这篇文章,那么我可以合理怀疑你被apt-get的几个卸载命令有点搞晕了。 apt-get的卸载相关的 阅读全文
posted @ 2019-02-13 15:14 the_tops 阅读(1360) 评论(0) 推荐(0) 编辑
摘要: 第三种方法测试有效,原文链接:https://blog.csdn.net/gx_1983/article/details/78352457 指定运行时动态库位置的三种方式 在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可通过三种方法来指定:方法一:在配置文件/etc/ld.so.conf 阅读全文
posted @ 2018-04-12 21:59 the_tops 阅读(7884) 评论(0) 推荐(0) 编辑
摘要: df -i; 发现inode节点占满; 这个时候如果不知道哪儿节点占用多可以用下边的脚本进行检查,查看到底哪个目录下面的文件最多: for i in /*; do echo i;findi | wc -l; done (结果出来之后)或者直接到你知道的占用节点多的路径下 进行删除;;;先删除 阅读全文
posted @ 2018-04-11 21:43 the_tops 阅读(1130) 评论(0) 推荐(0) 编辑
摘要: 最近排查服务器异常的时候,常会遇到磁盘慢的情况,这个时候,查找那个文件夹占用的内存的时候常用到这个命令:du -h --max-depth=3 一般的文件夹都超不过4层; 具体使用的时候,可以根据当前路径来指定深度查找,把这个记录一下. 常用到的排序命令:(会根据T和G为单位来排序) du -h - 阅读全文
posted @ 2018-04-11 20:51 the_tops 阅读(7977) 评论(0) 推荐(0) 编辑
摘要: 暂时目前的环境处理方法比较简单: 在root用户下添加计划任务: */10 * * * * sync;echo 3 > /proc/sys/vm/drop_caches; 每十分钟执行一次,先将脏数据写回硬盘,之后释放缓存页和入口信息和节点信息等; 参考链接: http://man.linuxde. 阅读全文
posted @ 2018-04-11 20:45 the_tops 阅读(1240) 评论(0) 推荐(0) 编辑
摘要: 暂时目前的环境处理方法比较简单: 在root用户下添加计划任务: */10 * * * * sync;echo 3 > /proc/sys/vm/drop_caches; 每十分钟执行一次,先将脏数据写回硬盘,之后释放缓存页和入口信息和节点信息等; 参考链接:https://www.linuxidc 阅读全文
posted @ 2018-04-11 20:42 the_tops 阅读(9508) 评论(0) 推荐(0) 编辑
摘要: systemctl -- 系统服务管理器 systemctl -- 系统服务管理器 systemctl 是系统服务管理器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起。直接运行命令可以列出所有正在运行的服务,输出列表具有更详细的信息,比如: [root@beyes c 阅读全文
posted @ 2018-04-11 20:29 the_tops 阅读(2119) 评论(0) 推荐(0) 编辑
摘要: ps -ef 和 ps aux 有略微的差别; 具体如下:(https://www.linuxidc.com/Linux/2016-07/133515.htm) Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到 阅读全文
posted @ 2018-04-03 16:24 the_tops 阅读(1390) 评论(0) 推荐(1) 编辑
摘要: from:https://www.cnblogs.com/kungfupanda/p/5257174.html http://blog.csdn.net/appleheshuang/article/details/7602499 一 module通常模块为一个文件,直接使用import来导入就好了。 阅读全文
posted @ 2018-03-06 17:21 the_tops 阅读(668) 评论(0) 推荐(0) 编辑
摘要: from:https://www.cnblogs.com/the-study-of-linux/p/5501593.html lsof (list open files)是一个列出当前系统打开文件的工具。在linux系统环境下,任何事物都可以以文件形式存在,通过文件不仅可以访问常规的数据,还可以访问 阅读全文
posted @ 2018-03-06 17:08 the_tops 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: from:http://blog.csdn.net/jh19900712/article/details/24786159 数据结构包括数组、链表、栈、二叉树、哈希表等等 数据结构 优点 缺点 数组 插入快 查找慢、删除慢、大小固定 有序数组 查找快 插入慢、删除慢、大小固定 栈 后进先出 存取其他 阅读全文
posted @ 2018-02-09 15:13 the_tops 阅读(1581) 评论(0) 推荐(1) 编辑
摘要: from:http://blog.csdn.net/minicto/article/details/62240020 ubuntu系统默认源更改为阿里源 ubuntu默认使用的国外的源,在更新的时候会很慢,可以使用国内的阿里的源,速度很快。 依次执行如下命令, sudo cp /etc/apt/so 阅读全文
posted @ 2018-02-07 12:31 the_tops 阅读(1944) 评论(0) 推荐(0) 编辑
摘要: from:https://www.cnblogs.com/daizhuacai/archive/2013/01/17/2865138.html 修改的用户都以root为列。一、拥有原来的myql的root的密码;方法一:在mysql系统外,使用mysqladmin# mysqladmin -u ro 阅读全文
posted @ 2018-02-07 12:19 the_tops 阅读(371) 评论(0) 推荐(0) 编辑
摘要: Python import语句导入模块语法 社区推荐:掘金是国内最活跃的技术社区,我们每日有优质Python开发实例分享,海量python开源库推送。来掘金,和更多懂技术的小伙伴交流。 python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需 阅读全文
posted @ 2018-02-07 11:13 the_tops 阅读(2308) 评论(0) 推荐(0) 编辑
摘要: 本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函数取得的长度,进行对比即可知道字符串内中文字符的数量,自然就可以计算出字符串的长度了。 value= 阅读全文
posted @ 2018-02-07 10:43 the_tops 阅读(20555) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示