如何检查自己是否平庸?
平庸是程序员的最大忌讳。
大家可以看看最近出来的软件开发者薪资调查报告(http://www.programmer.com.cn/14918/)。
读过之后每个人的认知可能不同,有的人感觉我怎么赚这么少得跳槽,有的人感觉自己还可以,我个人的感觉就是上面那句话:平庸是程序员的大忌。
在一个还不算老的行业里,在一个相对较高收入占比在20%~30%的行业中,没有什么比平庸更可怕的了。反倒是编程语言,数据库这类影响因素并没有想的那么重。
这也就意味着当一个人扎到某个行业或方向中之后,如果确实这个方向值得持续投入,那么只要达到一定高度,那么就可以获得还可以的收入。(当然离大富大贵总是远的)。
那么什么叫一定高度,什么叫平庸?
一定高度就是通过努力、实践、天分、机会导致你能做的事很少的人能做,反之就是平庸。
这其实不难检测。
假设有一个正常的智商的人,加入了你的公司,他在正常情形下工作3~5年,和你的差距是什么?如果没有什么显著差异,那显然被检测者是平庸的。
在3~5年里,一般来讲会在下面这些方面有所进展:
能够精通一门或几门编程语言;
能够弄清楚什么是面向对象,并能画UML图;
能够精通一个或多个框架,IDE;
能够知道并使用一些设计模式;
能够负担起公司分配的具体工作;
熟悉公司的基本开发流程
但如果这段时间里只达成了这些目标,并在此后再无进展,那无疑的是平庸的。
因为一旦如此,一个人就和刚毕业的人只有3~5年的差异。
这里一个明显的判定指标是自己的工作是否陷入了简单的重复。
假如说不想一直平庸下去,一个人可以干点什么?
很多人可能想到去看看人物传记什么的,但其实不太行。能写传记的往往出身和大众也不太一致,所以可参照价值较低。
比如李开复老师是卡内基梅隆的,这起点已经和很多人不一样了。
这时候要结合自己的现实来找个突破点,大致方向有这么几个:
第一是如果技术路径长,那么在技术路径上深造。比如:争取开发12306这类并发级别网站的机会。比如:打穿软硬件的屏障。
形象点讲,就是达到有你在一个有难度的活能承担起来的地步。你可以建立起高并发的网站,你可以主力设计一款消费电子产品等。
第二是如果技术路径不是很长,那要扩宽领域,懂业务知识。比如:金融,ERP,管理软件这类。
第三是往纯管理上倾斜。这时候要去和估算、挣值、流程、预算、人际矛盾这些东西奋斗了。管理者要懂技术没错,但往纯管理上倾斜几乎一定会荒废技术,除非是天才人物。
大多时候很多人会以为这里是金光大道,但其实并非如此,只能说也不差,具体参见“项目经理一定比码农好么?”。
也许还有其他一下子没想到的方向,但感觉上就这些了。