你想成为哪种程序员

相信很多人都曾经被面试官问过这样的问题:你对自己未来5年的职业规划是怎样的?

 

一般情况下,你的很自然的想法就是:你要变得很牛,或者至少变成一个很牛的程序员。尽管这个问题看起来并不像其它一些同样老掉牙的问题(比如,你觉得你最大的弱点是什么?)那么严肃,但很可能你还是会觉得难于回答,回避这个问题明显不是一个明智的选择。

 

但是,在我看来,这个问题同样是一个相当严肃的问题,只不过大部分人都没有注意到它的重要性,不是对面试官,而是对你自己。

 

对于这个问题,大部分人都会选择一个不痛不痒的答案来敷衍面试官,但如果你深入的思考这个问题,你会发现,这实际上是一个关于软件开发人员可能的职业生涯轨迹的问题,当然,我们选择这一行是因为我们喜欢这行,并且幸运的得到老天的眷顾,我们干上了这行,但你能在50岁的时候依然坐在电脑前面敲代码吗?60岁呢?所以,我们必须在还年轻的时候先思考一下这个问题:作为一个程序员,最完美的职业生涯应该是什么样的?

 

如果你懒得自己思考,那就让我来告诉你吧。基本上,这个世界的程序员可以分为8种类型:

 

1. 不朽的程序员

这是最高的级别,虽然你的人已经挂了,但是你的代码却依然活着,你成为计算机博物馆中的一个永久收藏,为数众多的程序员持续的学习和阅读你的作品。你在生前已经赢得了许多的赞誉,发表了大量非常重要的论文或者是创造了许多影响到计算机专业课程设置的基础技术。你已经不仅仅只是拥有一个维基百科的条目,会有许多专门的网站讲述你的作品以及你生平的事迹。

 

能够达到这一级别的程序员屈指可数,这一级别的代表人物是:Dijkstra, Knuth, Kay

 

2. 成功的程序员

成功的程序员不仅拥有广泛的知名度,并且还运营着一个不错的公司——甚至是整个产业链。他们拥有绝对的自由可以做他们想做的事情。

 

这一级别的程序员是最多人羡慕的,到达这一级别更多的是需要商业上的才能而不是你的编程能力。

 

代表人物:Gates, Carmack, DHH

 

3. 知名程序员

成为这个级别的程序员也不错,当然前提是,你得有一份不错的工作。

 

这个级别的程序员虽然在圈子里很有名,但是成为名人并不意味着你可以靠这个获取收入,甚至是养活你自己。知名固然不错,但无疑成为成功的程序员更加好。你的公司可能是一家非常知名的大技术公司,也可能是一家很有影响力的小公司或者是一个最新潮的创业团队,其它的程序员都应该或多或少的听说过你,并且,你对你所从事的领域可以起到积极的影响。

 

4. 工作杰出的程序员

你做为一个软件工程师的职业生涯非常的成功,因为你的工作能力相当杰出,你从来不会为找不到一份你满意的好工作而发愁,你的同事也非常尊敬你,每一家你工作过的公司都因为你的加盟而在某些方面得到了增强。

 

但问题是:你接下来的方向在哪呢?

 

5. 能力一般的程序员

这个级别的程序员,一般来说,由于天赋的差异,通常很难成为杰出的程序员,但天赋跟成功的关系其实不是很大,如果你有很好的商业或者是与人沟通的技能,你依然可以直接跳升到成功的程序员级别。如果你是一个能力一般的程序员,但你却靠这行过上了不错的生活,那说明你必须在其它方面有很好的天赋(除了编码)。

 

不要怀疑自知的价值,通常你的能力都会比你认为的要少,但缺乏天赋并不是什么大不了的事情。要勇敢一点,发掘自己的特长,并充分利用,你也会成功的!

 

6. 业余的程序员

业余程序员通常都很喜欢编码,一般来说以学生和实习生为主,他们通常会向开源项目共享代码,或者利用空闲时间凭自己的兴趣开发一些应用,他们的代码和创意通常看起来都很有激情。

 

成为一个业余程序员是个好事情:这个级别的程序员可以很快速的成为一名工作杰出的程序员。

 

7. 未知的程序员

还有一些很知名的程序员,比如Joe Coder,有能力但是不太引人注目,很可能在为某个大公司工作。对于这类人来说,写代码仅仅只是工作,并非他们生活的全部,这没什么错,挺好的。

 

8. 差劲的程序员

这个级别的程序员通常是因为某些意外,阴差阳错的成为了程序员,但他们本身并不具备写代码的技能,所有他们做的东西都成了他们同事的噩梦——当然有一种例外,就是他的同事也是十分差劲的程序员,差到都不具备与他的同事进行基本的沟通。

 

基本上,如果要给差的程序员下一个定义,那就是:没有金刚钻,却揽了瓷器活。

 

当然,这个级别排的不是很严肃,并且每个人对自己的职业规划都不一样。它只是想给你一点启示,那就是你在未来的10年,20年,30年甚至是你整个一生究竟能够完成哪些事情,你最为崇拜哪个程序员,他身上的哪些特点最为吸引你?

 

简而言之,你究竟想要过怎样的生活?

你可能感兴趣的:(编程,工作,面试,生活)