程序员的8种境界

     是否曾有人问过你那道经典的面试题“你未来5年里打算做些什么?”

你当然是想唱摇滚!或者……至少做个摇滚程序员(译注2)。这不是那种需要严肃回答的问题——有点像另一道老掉牙的雷人面试题一样:“你的最大缺点是什么?”,你的最大缺点就是偶尔摇滚摇得太疯狂,对吧?无辜路人都会被你撞伤。

     但我认为不该如此,我们应该以认真严谨的态度,深思熟虑之后再回答它。不是为面试官,而是为我们自己。

     “你未来5年里打算做些什么?”,这貌似不难回答,许多人都能不假思索地说出答案。但我们应该再想得长远些:对软件开发者来说,有哪些职业发展道路是走得通的?诚然而且在这行里发展得还不错,可是你能一直干到50、60岁吗?对于那些渴望成为程序员的……程序员来说,怎么发展才是最好的呢?

     要是我告诉你程序员有八种境界,你会怎么想?呵呵,可别太较真

 

  1. 不朽的

         这是至高无上的境界。你的代码已经超越了生死。你将作为计算机史上的丰碑而被人铭记。其他程序员都会从你的代码和文字中汲取营养。你可能获得过图灵奖,也可能写过有影响力的论文,还可能引入了一项或几项就我们所知影响编程史进程的技术。你不仅只是拥有一个维基百科的词条,而且你的生平及作品会被所有网站所传颂。

         穷尽一生,能达到这一境界的程序员屈指可数。

         成员:Dijkstra, Knuth, Kay

     

  2. 成功的

         这是指那些不仅举世闻名,而且基于他所写代码创立了公司——甚至创造出一个新行业——的程序员。这些程序员已经获得了真正的0级自由(译注3):他们可以自己决定自己做什么工作。而且他们还把这自由与志同道合者分享。

         这是几乎所有程序员都渴望达到的境界。达到这一境界所需要的商业能力要多于编程能力。

         成员: Gates, Carmack, DHH

     

  3. 有名的

         达到这一境界也不错,但前提是你要有一份稳定工作。

         你在程序员圈子有名,但这并不代表你一定有能力挣钱并且养家糊口。有名诚可贵,成功价更高。你可能为一家知名大企业工作,也可能在一家有影响力的小公司就职,还可能是一个小规模创业团队的一员。不管你在哪儿,其他程序员都曾经听说过你,而且你正在积极促进行业发展。

     

  4. 称职的

         你很适合做一个软件开发者。你所掌握的技能游刃有余,也不必为找不到好工作而发愁。你的同事尊敬你。每个你效力过的公司都因你的加入而多少有所进步。

         但是你还能怎么发展呢?

     

  5. 平凡的

         既然达到这一境界,那你应该有足够眼光看出自己并不是那种伟大的程序员,而且或许永远无法成为伟大的程序员。

         有天赋不代表能成功。如果你具备商业和人际交往技能,那么你可能非常成功。如果你作为一个平凡程序员同时还能以此谋生,那么你绝对是有天赋的,只不过这天赋不一定是写代码。

         不要小看自知之明的价值。你真正了解到的自己要比你以为了解到的少得多。天资驽钝没什么不好的,要勇于面对现实。你应该想清楚自己擅长做什么,然后向着自己擅长的方向披荆斩棘不断前行。

     

  6. 业余的

         业余程序员热爱编程。之所以说他们业余是因为,他们有些是前途光明的学生或实习生,有些是开源项目的贡献者,有些是空闲时爱编个搞笑程序或建个有趣网站的人。他们的代码或想法中洋溢着希望与激情。

         达到这一境界是件好事,从这里可以迅速成长为称职的程序员

     

  7. 无名的

         身处这一境界的是那些大家称作普通程序员的人,无名氏。他们能力(通常)不错但工作成果却泯然于众人,很可能为某家行业巨头工作。编程对他们来说只是工作而已,并不是他们生活的全部。当然,这么做也无可厚非。

     

  8. 差劲的

         这说的是那些一点编程技能都没有,却阴差阳错进入这行的程序员。他们鼓捣过的代码在他们的同事看来无异于痛苦与折磨——有一种情况例外,那就是他们的同事也都很差劲,他们甚至看不出你是否差劲。

         这或许就是这一境界的显著特征。他们没有金刚钻,却揽了瓷器活儿。

     这八种境界说来带有几分调侃。没有哪个程序员喜欢以按图索骥的方式来规划职业。但是想想一个程序员在10年、20年、30年、甚至一生之中到底能达到何种境界,这无疑是具有启发性的。你最崇拜的是哪些知名程序员?在他们所达到的境界中,哪些特征吸引你崇拜?

     简而言之,你这辈子打算做些什么?

 

 

  • 译注1:“摇滚程序员”(Rockstar Programmer)是近年编程界流行的一个说法,可能出自2008年出版的书《摇滚程序员的秘密》(Secrets of the Rock Star Programmers)。这么说是因为摇滚歌星大多昙花一现,通常只出过一张热卖专辑,甚至只是一首热门单曲,之后就靠着这些作品巡回演出,有点像摇滚卫道士那种了。所以摇滚程序员说的也是像Linus、DHH这种在短暂的几年间做出突出贡献,然后就不再热衷于编程,而是忙于写书、演讲、宣传自己的技术等,后期的江湖地位全凭其前期工作得来。感觉网上的各种评论中,有人认为这是讽刺他们盛名难副,有人认为这是他们应得的褒奖,见仁见智吧。搞笑的是居然有评论认为姚明是个摇滚运动员,说他其实球技很一般,但是由于为中美文化做了不小贡献,因此江湖地位很高,也属于名过其实那类……
  • 译注2:0级自由(freedom 0),是针对GNU的4级开源软件自由(自由使用、自由研究、自由拷贝、自由修改发布)提出的最根本的自由。要想使你的软件自由,你自己必须先自由,也就是文中所说的你可以自己决定自己做什么工作。显然,如果你自己不自由,是某些原因约束你让你做出一个软件,那么该软件也就带有了不自由因素,因而难以实现GNU的4级自由。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值