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