应该说我们很幸运,我们生活在一个百花齐放的技术世界,每个技术领域都有四五个方向可以选择,但是,这又是非常不幸的,因为选择正是一切痛苦的根源,很久以来,我就不停的收到提问,“我应该选择什么语言?”、“我应该学那方面的编程?”、“我应该选择那个平台?”等等,每次我都对提问者的具体情况做了详细的回答,但久而久之,连我自己都有一个要总结一下的欲望,看看那些因素应该左右我们的选择,或者说我们选择的时候应该考虑什么?
首先是市场,对,没错,我们生活在一个物欲横流的世界,我们不能也无法无视市场的作用,但是,很关键的一点,我们对市场的认识是基于什么的分析?这里有三个可能,
第一,来自身边的高手,这些人肯定至少在我们这些请教者看来在他自己的领域是有相当的能力和见解的,因此他们的建议肯定是值得关注的,但是我们必须注意两点,首先,你应该肯定一下,你请教他的领域是不是就是你选择的领域,而你请教的只是在这个领域内部的某个具体的选择,举个例子,你请教一个C#程序员,而他对.NET框架很有研究,那么你可以问他:“.NET框架在未来的几年里那些方面比较有希望?”但你千万不要问他:“J2EE和.NET那个好?”因为首先他会鄙视这样的问题,然后,就是他告诉你了他的答案,也不能保证这种答案的价值,因为他对J2EE的认识可能不如.NET;再次,你不能把他带有感情色彩的话太当回事,比如,“.NET是个垃圾,微软的东西都是垃圾! ”,可能他自己有充足的理由这么说,但是,这是不是垃圾应该你自己来判断,而且说真的,你还不知道他本人在某些方面是不是垃圾,如果是垃圾说的垃圾,说不定还是宝贝呢(双重否定等于肯定?)!是吧?
第二,来自媒体,网络上到处都有一堆一堆的统计数据,而且不可否认都有一定的准确性,关键是我们怎么用这些数据?我们知道程序员群体肯定是个精英群体,因此他的水平分布肯定是个金字塔型的结构,你把自己定位在那儿?人多,市场小,市场大,人就少,而且还要加上你的学习时间过后的走势,恩,不会比买股票容易,而且如果你能完全料准的话,还不如去炒股……
第三,来自身边的群体,大家学什么你就学什么,这样的好处是利于交流,而且大家都这样,有安全感,中国人也向来喜欢如此,但这个方法问题很多呀,你不知道为什么学?(因为大家在学)。你不知道学来做什么?(等看大家做什么)。你总是跟着,等人家在前面把市场占满了,还能跟吗?
所以,市场分析基本上是句空话,他最多只能给你一个大致的选择方向。
然后呢,应该是兴趣,你喜欢什么就学什么,这当然很好,而且我的大部分计算机能力也是这样得到的,但是这样也会遭遇一些尴尬的局面,你苦苦专攻了三四年,突然发现你很难凭他找到工作,因为你身边没这样的公司,而这样的公司离你十万八千里,或者公司里这样的部门人满为患,除非我们有诸葛亮这样的耐心和自信。否则肯定是郁闷不止。
所以兴趣可以成为动力,但不能指定方向,这个因素可以重视,但不能唯一依靠。
接着是技术认识,一项技术肯定具有他的意义,这些意义可能决定了他未来的走向,而且技术往往决定了一系列具体技术方向,比如虚拟机技术,java也好,。NET也好,都离不开这个本质,而这项技术又比较好的在一定的范围内解决了程序界一直在追求的移植问题,那么他应该值得你花点时间关注一下,一旦你掌握了虚拟机的基本原理。Java或者.NET对你都不是太难的问题了,学好了其中一个,另一个基本上也就不学自通了。
因此,对技术本身的认识是进一步选择技术发展方向的一个不可忽视的因素,这样的因素也一般是可靠的。
最后,我们还应该明白,如今并不缺乏多面手,缺乏的是各个领域的顶级的专业人才,我们应该固定一下自己的涉及范围,把有限的精力发挥好,这样才会有实质性的收获。
首先是市场,对,没错,我们生活在一个物欲横流的世界,我们不能也无法无视市场的作用,但是,很关键的一点,我们对市场的认识是基于什么的分析?这里有三个可能,
第一,来自身边的高手,这些人肯定至少在我们这些请教者看来在他自己的领域是有相当的能力和见解的,因此他们的建议肯定是值得关注的,但是我们必须注意两点,首先,你应该肯定一下,你请教他的领域是不是就是你选择的领域,而你请教的只是在这个领域内部的某个具体的选择,举个例子,你请教一个C#程序员,而他对.NET框架很有研究,那么你可以问他:“.NET框架在未来的几年里那些方面比较有希望?”但你千万不要问他:“J2EE和.NET那个好?”因为首先他会鄙视这样的问题,然后,就是他告诉你了他的答案,也不能保证这种答案的价值,因为他对J2EE的认识可能不如.NET;再次,你不能把他带有感情色彩的话太当回事,比如,“.NET是个垃圾,微软的东西都是垃圾! ”,可能他自己有充足的理由这么说,但是,这是不是垃圾应该你自己来判断,而且说真的,你还不知道他本人在某些方面是不是垃圾,如果是垃圾说的垃圾,说不定还是宝贝呢(双重否定等于肯定?)!是吧?
第二,来自媒体,网络上到处都有一堆一堆的统计数据,而且不可否认都有一定的准确性,关键是我们怎么用这些数据?我们知道程序员群体肯定是个精英群体,因此他的水平分布肯定是个金字塔型的结构,你把自己定位在那儿?人多,市场小,市场大,人就少,而且还要加上你的学习时间过后的走势,恩,不会比买股票容易,而且如果你能完全料准的话,还不如去炒股……
第三,来自身边的群体,大家学什么你就学什么,这样的好处是利于交流,而且大家都这样,有安全感,中国人也向来喜欢如此,但这个方法问题很多呀,你不知道为什么学?(因为大家在学)。你不知道学来做什么?(等看大家做什么)。你总是跟着,等人家在前面把市场占满了,还能跟吗?
所以,市场分析基本上是句空话,他最多只能给你一个大致的选择方向。
然后呢,应该是兴趣,你喜欢什么就学什么,这当然很好,而且我的大部分计算机能力也是这样得到的,但是这样也会遭遇一些尴尬的局面,你苦苦专攻了三四年,突然发现你很难凭他找到工作,因为你身边没这样的公司,而这样的公司离你十万八千里,或者公司里这样的部门人满为患,除非我们有诸葛亮这样的耐心和自信。否则肯定是郁闷不止。
所以兴趣可以成为动力,但不能指定方向,这个因素可以重视,但不能唯一依靠。
接着是技术认识,一项技术肯定具有他的意义,这些意义可能决定了他未来的走向,而且技术往往决定了一系列具体技术方向,比如虚拟机技术,java也好,。NET也好,都离不开这个本质,而这项技术又比较好的在一定的范围内解决了程序界一直在追求的移植问题,那么他应该值得你花点时间关注一下,一旦你掌握了虚拟机的基本原理。Java或者.NET对你都不是太难的问题了,学好了其中一个,另一个基本上也就不学自通了。
因此,对技术本身的认识是进一步选择技术发展方向的一个不可忽视的因素,这样的因素也一般是可靠的。
最后,我们还应该明白,如今并不缺乏多面手,缺乏的是各个领域的顶级的专业人才,我们应该固定一下自己的涉及范围,把有限的精力发挥好,这样才会有实质性的收获。