乍一看这个标题,我想大家可能会大或不解,但我实在是想不到更好的标题了,聊天,传达一种了轻松,温馨的人文气息,人生则代表着严肃与深邃.这两方面反映的内涵都可以说是很多程序员的追求与现状,把这两者结合起来写程序人生,我想还是比较恰当的.
最近看了不少各大网站的专家聊天实录--关于细节,关于成长,关于未来;作为一个程序员,同时结合自己的问题与对软件行业的关注,便生发了不少的感想.写感想,贵在有感而发,不敢有什么惊世之论,只希望与大家共勉.走好属于我们程序员的美好的程序人生.
初出茅庐--语言选择:
我开始学.NET的时候,最烦恼的事情就是不知道选VB.NET好还是C#好.现在想起来,真是没有什么必要啊!其他方面也有所谓JAVA与C++那个好的问题;其实我想,这也没有比较必要,除非你搞语言研究,非把他们比较所以然来不会.C#目前最热门,VB.NET拥有世界上最大的用户群,JAVA应用领域甚广,C++也不是省油的灯,连Pyton这个少为人知的语言,偏偏有人用它做应用,而且做得还很好,而且据一份调查显示,选用的开发语言与所拿的薪资差异不大.从事软件开发,与选何种语言无关,关键是看自己的偏好与你是否精通.
时代潮流--平台之争:
说起平台,大家认可的无非是JAVA和.NET,JAVA是老前辈了,.NET则是新生事物.对于希望或正在从事软件行业的人来说,平台的选择关系到自己的未来的发展.都希望能选择一个有前景的平台,现在的软件开发都是基于某种高度集成和开放的平台上,未来的竞争已经不在是语言的竞争.而是平台的竞争.那么JAVA和.NET那个更有前景呢?今年6月份的程序员杂志有一篇文章叫做<<JAVA/.NET时代的选择>>.从这篇文章唯一能看到就是什么也看不到.我想现在没有那个人敢说那个有前途,那个没前途.JAVA目前来说.由于它的跨平台特性.在高端的企业行业系统集成应用,移动,嵌入式系统应用开发等方面具有很大的优势,占据目前的主流,.NET依托"桌面"开发和操作系统的绝对优势以及微软的强大实力,加上善于"打边球"策略的比尔盖死团队成为后起之秀.想起微软的发展历程,微软从来都不是以最精,最好的技术取胜.因为微软从来就没有过(除了IDE),但微软也从来没有败过.
选择平台就好比如选择老婆一样,是要感情专一的,我想没有几个人可以同时精通JAVA和.NET的,就好比如,离婚的人毕竟很少一样.所以我想,在选择平台的时候,不防像选择未来老婆一样,即要理智,但更重要的是合适与喜欢.所以一但选定了,剩下的就是与她共创未来,共赌明天了!
三足鼎立--开发领域:
就像计算机技术包含软件和硬件一样,软件开发本身又是一个大集合,也有很多分支,对于程序员来说,我们要有所发展,首先就应该在某一方面有所造诣才行,而每个领域对开发人员也有不同的要求,所以也要根据自己的特点,选择适合自己的领域做为主攻方向.
就目前的软件行业来说,我觉得可以分成三大类:行业应用,移动开发,通用产品;
像一般企业的管理系统,OA系统,电信行业的计费系统等都属于行业应用;像手机,PDA等手持移动设备的开发就输入移动开发;像WPS Office,瑞星杀毒软件,魔兽游戏软件等就属于通用软件产品.
行业应用要求开发人员的知识面广,对新技术敏感,学习能力强,团队意识强等;移动开发则要求有一定的windows开发经验,但又不能囿于windows的开发习惯,毕竟移动设备尤其是手机等手持设备的硬件资源都比较缺,入门的门槛较高,平台繁多,不好选择,是新的行业,有很广泛的前景;通用产品开发则要求对数据结构,算法,系统原理等基础,理论性的功力不能差.
程序人生--成长之路
语言选好了,"老婆"也有了,但每各人也不想一辈子都从事编码工作吧,尤其在中国,大家都认为做程序员是在吃青春饭,不论未来的情况怎样.我最想说的一句话就是:你必须成为精英,不论你喜不喜欢.这是中国软件行业大环境的必然要求,除非你想在30岁后揭竿而起,卷起铺盖不干了!
成长之路也有很多条,但最终目的无非就是进入高层,如项目经理,架构师(Architect),CIO,CTO,或者变成大师,写书传道受业解或去了.至于如何实现这些,我想我也和很多程序员一样,努力ing,探索ing,但有一样可以肯定,我们要首先精于English,不断培养自己的观察,分析,沟通能力,为将来,做好准备,而且这些能力也将会成为你迈向目标的助推器.
当然了,制定一个长远的目标和学习计划也是必不可少的.