程序员发展方向

不知不觉,做Java开发已经有几个年头了,平常就是实现公司项目或产品的需求,闲暇下来的时候也不禁会想想自己的未来何去何从。众所周知,做Java主要是写应用层,就是偏应用的东西,技术含量其实并不是很高,因此也就出现了有人说:“Java这东西,是个人就能写。”类似于此的论断。

现在广大的程序员,很大一部分就是在写业务逻辑,也就是实现业务功能,很少有程序员能够接触公司项目或产品的底层架构的,或者说只有很少一部分人在维护核心的东西,大部分程序员都是在做边角的维护或者二次开发。而且现在程序员的基本素质,比起老程序员来说,确实质量下降了很多,以前很多老程序员(2000年前后),基本都是做C或PB出身,对于底层的技术,数据结构和算法,掌握的都比较好,而自从Java出现后,对大部分程序员的要求没有以前那么高了,只要不是太差基本上都可以胜任日常的开发和维护工作,也就出现了所谓的新生代程序员拉低了市场的工资,这确实是一个原因。

今天我想说的是,广大程序员,做久了,尤其当你做到30岁以上,还没有成为公司的管理人员,比如项目经理或者架构师的时候,这时候该向哪个方向走呢?当然已经成为我说的前两种人的除外。总不能一直写代码吧,国外是可以,但是国外的行情和国内的是两个概念,如果你真写代码到40岁,恐怕在国内你的身体肯定是吃不消的。有一个朋友,在电信行业,他在那个公司做了7年,后来公司效益不好,倒闭了,于是一大堆公司来挖他。为什么呢,因为他熟悉业务。现在很多新生的程序员都习惯了在很多公司之间跳来跳去,我觉得如果薪水给得相差不是很多,当然特殊情况除外,是没必要来回跳的,在一个行业呆久了,必然会熟悉这个行业的业务,说的夸张点,就是所谓的来了什么项目,只要是这个业务范围内的都能做,业内管这种人称作“行业方案解决专家”,或者叫咨询顾问什么的,这样的人远比普通编码者吃香得多。假设一个程序员,他在一个又一个公司之间跳来跳去,今天做个金融的项目,明天做个电信的,后天做个石油的,那么除了锻炼了点设计和编码能力,其实对于其以后的发展是很不利的。所以我建议,即使跳槽,也要在同行业内跳,如果不是特殊情况不要跳,除非你把这个公司的人都得罪了,需要去别的公司重新做人。这样,你可以为以后想业务方向发展积累经验。有的时候,也许你在公司的能力已经得到了大家的认可,或者你也已经适合去做某个位置,然而这个位置目前还有人占着,切忌急躁,急功近利,可以相机而动,等这个位置的人升迁或离职,你自然就可以顶上这个位置了。

前几天跟一个哥们吃饭,这哥们在完美时空做游戏开发的工作,期间谈到薪水,他说他的薪水是比较低的,13000。他做游戏开发两年。游戏开发这一行,对底层要求比较高,比如,算法、数据结构、几何。虽然学起来曲线比较陡峭,但是一旦真正掌握了,是非常有帮助的。所以,我也建议,新生代的程序员,尤其是刚入行的,如果你Java基础非常好,对算法,几何等也感兴趣,建议向C++方向转,并不是说一定要做游戏开发,或者,手机游戏开发也可以,多个选择多条路。另外,现在还有很多炒得很火的热门技术,比如Biee,Flex,如果你想给自己未来积累一些经验和财富,也可以考虑向这方面转。

还有,当你在一个公司做了一定时间,如果这个公司是做产品的,当你对产品需求的了解有了一定火候的时候,如果有机会,可以向产品方面转,虽然做产品和技术的理念是不同的。

相关推荐