如果将程序员分为本文的8种类型,你会是哪一种呢?
在求职的时候,相信很多人都被问过这样的问题,“你对自己未来5年的职业规划是怎么样的?” 每当我被问起这个问题的时候,我的脑海里总是浮现出TwistedSister乐队1984年拍摄的一段视频里的这个场景:一位老师对着他的学生大喊,“我想要你告诉我,不,是告诉全班同学,你究竟想要过怎样的生活?”
注:TwistedSister是一支源自美国纽约的摇滚乐队,成立于1970年代早期。后来经过将近10年的奋斗,他们在80年代初取得了较大的突破。然而由于他们的叛逆形象和古怪行为,在他们最风光的时候,他们被美国政府看作是重金属毒害青少年的一个典型例子,于1988年被迫解散。
你自然会想:我要变得很牛!或者至少成为一个很牛的程序员。尽管这个问题看起来并不像其他一些同样老掉牙的问题那么严肃(比如,“你觉得你最大的弱点是什么?”),但很可能你还是觉得难以回答。也许有时候你表现得太牛了,不屑于回答这样的问题。但要小心了,你可能会惹恼别人。
在我看来,这个问题同样是一个相当严肃的问题,值得好好思考一番。不是为了应付面试官,而是为了你自己。
对于这个问题,大部分人都会选择一个不痛不痒的答案来敷衍面试官。但它也确实引出了一个更为深层次的问题:一个软件开发人员究竟该有怎样的职业生涯?当然,我们选择这一行是因为我们喜欢这行,并且幸运地得到了老天的眷顾,我们干上了这一行。但你能在50岁的时候依然坐在电脑前敲代码吗?60岁呢?所以,我们得趁还年轻的时候好好思考一下这个问题:作为一个程序员,最完美的职业生涯应该是什么样的呢?
那我就来告诉你吧,基本上,这个世界上的程序员可以有8种境界:
1. 不朽的程序员
这是最高境界!虽然人已经走了,但是他的代码却依然活着。他成为计算机博物馆中的一个永久收藏。其他为数众多的程序员都在学习他的作品。他在生前可能得到过图灵奖,或者发表了大量有影响力的论文,或者是发明了一些影响到计算机专业课程设置的基础技术。他已经不仅仅只是拥有一个维基百科的条目,事实上,有很多专门的网站来讲述他的作品以及他生平的事迹。
在人的有生之年能够达到这一境界的程序员屈指可数。
代表人物:Dijkstra、Knuth、Kay。
注:Dijkstra是一名荷兰的计算机科学家,他因发明了计算机编程语言而于1972年获得了图灵奖。Knuth是《计算机程序设计艺术》一书的作者,他被称为算法分析之父。Kay是一名美国的计算机科学家,是面向对象编程、视窗图形用户界面设计的先驱者,他有一句名言是:“预测未来的最好办法是创造未来。”