这篇文章来源于Jeff Atwood的文章《The Eight Levels Of Programmers》 , 在开题之前 , 聊下“程序员”这个名词 , 我觉得将Programmer定义为“程序员”的要求太低了 , 应该称之为“开发人员”或“研发人员” , 因为一个成熟的Programmer不仅仅只关注Program或Code(当然Coding是基本技能要求) , 还需要关注该Program的需求背景、业务、架构及其长期演进 , 或许团队中分工不同 , 这些不属于Programmer的重心 , 但你花时间去了解和理解它们是绝对有助于Program的 。
上面这些文字只是我的理解 , 下面Jeff Atwood的文章对Programmer的界定看似从编程能力和贡献来划分的 , 但实际上高级别的Programmer关注的也绝不是Code本身了 。啰嗦完以后还是看看大拿的原文吧:
你是否被人问过这样一个经典的面试问题 , “五年内你对自己有什么规划?” , 这种问题一般不会得到一个很严肃的回答 , 就像另外一个毫无新意且充满压抑的问题 , “你最大的弱点是什么?”
但我却不这么想 , 我认为这是一些比较严肃的问题 , 值得我们认真的思考一下 。并不是给面试官做好事 , 而是为你自己的将来 。
文章插图
“五年内你对自己有什么规划?” , 这个问题通常会招致一些流于形式的夸夸其谈 , 大部分的人在面对面试官时都对这样的问题有事先的准备 。当通常都不会 涉及一些深刻的关切:你做作为程序员今后可能的发展道路上怎样的?没错 , 我们编程 , 是因为我们喜欢 , 这样看来我们是很幸运的 。但当你50时岁时你还想坐在电脑前面编程吗?60时岁时?对于一个想成为程序员的人来说 , 他的最好的仕途道路应该是怎样?
你是否想听一下 , 如果我告诉你 , 算是玩笑吧 , 程序员有八个级别 。
01
已经死掉的程序员 , 这是最高级别 , 你的代码存活了下来 , 超越了你的死亡 。你将在计算机史上记下永恒的一笔 。其他 的程序员将会研究你的成果和著作 。你也许获得过图灵奖 , 或写出过有影响力的论文 , 或发明了一两件重要的、影响到编程史进程的技术 。你不仅仅在维基百科上有 条目记录——有专门的网站在致力于研究你的生活和工作 。很少有程序员能在有生之年达到这种级别 。
例子:艾兹赫尔·戴克斯特拉(获得图灵奖),高德纳(现代计算机科学的鼻祖),艾伦·凯(获得图灵奖)
02
成功的程序员 , 有知名度 , 而且通过自己的代码创建了公司——甚至开创了整个行业 。这种程序员享有绝对的自由度:自由的选择自己想做的事情 。并且能把这种自由分享给跟他一起的程序员同伴 。这是大多数程序员都向往渴望的级别 。达到这种级别通常更多的是依靠商业技巧 , 而不是编程 。
例子:比尔·盖茨,约翰·卡马克(《雷神之锤》视频游戏创始人),DHH( Ruby on Rails框架创始人)
03
著名程序员 , 这也是一个很好的级别 , 但前提是 , 你有稳定的工作 。你在编程界有知名度 。但有名并不意味这你可以把它转化成收益或给你带来帮助 。有名很好 , 但成功更好 。你可以在一个大的、知名的科技公司工作 , 或者一个有影响力的小公司工作 , 或你身处一个规模不大的创业团队里 。不管怎样 , 其他的程序员都听说过你 , 你在这个领域有积极的影响力 。
04
有工作能力的程序员 , 你是一个职业上成功的软件开发人员 。你的技术水平让你受欢迎 , 你永远不愁找到一份很好的工作 。你的同事都很敬仰你 。你工作过的每个公司都会由于你的到来而在某方面有提高或增强 。但你还能怎样?
05
普通程序员 , 处于这个等级的你是个不错的程序员 , 有自知之明 , 认识到自己不是个优秀程序员 。也许永远也不是 。天才跟成功通常没有多大牵连 。如果你会做生意并有人际交往能力 , 你也许会非常的成功 。如果你是个水平一般的程序员但却想以此为生 , 你应该 聪明的知道 , 你并不一定需要去编码 。不要轻视自知之明的作用 。很少人能做到这点 。没有天份没什么 。要有勇气 。弄清你擅长什么 , 朝这个目标奋斗 。坚持不懈 。
推荐阅读
- Windows 常见的进程列表
- shell中最强大,实用的命令awk,梳理清楚就是这么简单
- 15款Java程序员必备的开发工具
- 为什么单纯的人不适合职场,职场上太单纯的表现
- 微信小程序之flex布局
- 淘宝直播间的品牌折扣店的东西真吗? 淘宝直播品牌折扣怎么拿货的
- 你真的了解微信小程序么?
- 小程序:移动互联网的下一波浪潮
- 普京和拜登的关系 普京跟拜登关系
- 百度SEO和谷歌SEO的区别有哪些?