1.一技之长
新技术层出不穷,而内核的精髓的东西却变化不大,就像.Net,从VS2003到VS2012,已经有10个年头,VS的版本不断更新,而.Net内核的最新版本也才4.0,所以,作为程序员,我们要多掌握内核的东西,精髓的东西。
我 们的学习积累毛病在于:贪多、贪全、而不够深入。对于很多技术,我们都很有兴趣,对于刚兴起的技术,也紧紧跟随。但是,几乎都是蜻蜓点水、一知半解。回头 想想,我们似乎什么都会一点,什么类型的项目都可以做,B/S的、C/S的、数据库的、分布式的,等等,但是,却不敢说,在某某方面,我的水平已经超越了 圈中同类型的80%的人。只是我能做的,大家都会做,而且,我也没有把握比别人做得更好。
必须要让自己有价值,而自己的价值在于不可替代性或是难以替代性。如果,随便找个程序员就能把你replace掉,你的价值就很低廉了。如果在你负责的某个方面,只有20%的人超越你,那你的价值、你的重要性就凸显出来了,你与雇主的关系就从被动转向了主动,你就有了谈判的筹码。
在 专业化高度分工的今天,一技之长并不是说需要你掌握某个很大的方面,而只需要你能掌握其中的某一个小的领域,并不断地深入下去。就这个小的领域来说,你花 个3、5年的时间挤进前20%是非常可能的。比如,有人专门研究SqlServer数据库优化、有人专攻TCP通信、有人深入研究IIS、有人深入钻研 WCF等等。
2.打造自己的精品
当 你在某个小领域钻研了3、5年后,你一定会有很多心得,积累了很多经验,其中有些经验是异常宝贵的,为什么呢?因为在钻研这个领域一段时间后,会陆续碰到 很多问题,而那些80%的人,在碰到某个问题时就停止向前了,在这个小领域的水平就到此为止了,而你却在不断地解决这些问题,不断地超越那80%的人。
而 且,很可能的一个情况是,作为几年钻研的一个副产品,你积累了一套类库或框架,而基于该类库或框架来开发该领域的项目,不仅开发速度更快,效率更高,而且 项目的质量更有保证。然后,你可以把积累的这套类库/框架打造成一个精品,不断地打磨,直到某一天,可以让更多的人来用它。
当你在某一领域有了丰富的经验,或者有了自己的精品类库/框架之后,你便可以面向更广阔的市场。
3.更广阔的市场
在公司做个小白领,你的生死荣禄几乎就完全掌握在你的上司手中,你不得不关注他,被他的情绪所左右,很可能因为他的一句批评,你就整夜难眠。你觉得自己做得很好,可是他不认可。但是现在,你不需要再过分地关注他,你可以将眼光转向更广阔的市场。
互 联网时代的一个好处就是,任何人都可以以非常低廉的成本来向大众市场展示自己或自己的产品,评判你价值的不再(仅仅)是你上司,而是整个市场,相比于你的 上司,市场的评判会更客观、更公正。你可以把自己的经验能力说明放到自己的博客上、写专业的技术文章来分享知识、顺便推广自己,或者把积累的框架放到网上 去卖,或者去项目交易平台接那些与你精通的领域对口的项目,由于在这个领域你超越了80%的人,所以,成功接到项目的可能性是非常之大的。有了这些基础, 以后就算是靠技术创业也是有可能的。
如果做到了这三点,我想,你的“有房有车没贷款的生活”差不多就可以实现了。
就我个人经历而言,我花了10年的时间积累了ESFramework通信框架和OMCS语音视频框架,单靠它们的收入,满足家庭的生活开销已经足够了。我作为一个普通的程序员,既然我可以做到,我相信后来人也可以做到,甚至做得比我更好,在此祝福大家。