本文发表在 rolia.net 枫下论坛先说发生在别人身上的事。
有个朋友一直在做我羡慕的流行技术,前几年过得很滋润,不料,风云突变,公司垮了,技术虽新,市场无情。再求职业竟异常困难。Java也好,Javascript也好,JSP/PHP/ASP也好,EJB也好, SOAP也好,WebSphere/WebLogic也好,满街都是懂的人。最近几年改行学计算机的几乎都在学这些。而且,还挺难区分谁是真正内功深的。
而另一位老兄,一直在用C写编译器。也因公司垮了而丢了工作,却很快找到了新的工作。很简单,对于需要写编译的人来说,一看就知道面试的人水平如何。
接着说我自己的事,我投入UNIX系统开发后,其实做的东西还是非常底层。在这个互联网时代还是非常legacy的东西。很长一段时间我也是整天用C. 因此老担心自己出去后找不到工作。
但是,这个担心一直没有发生,直到我离开原部门,如愿以偿地去搞fancy的技术后,接我手的人不但没有丢工作之虞, 反而成了公司的红人。因为几个我们当时搞出雏形的项目成了创收大户。而几个从公司辞职走的人也很快凭其熟悉各种UNIX/Linix在系统层的差异而找到了不错的工作。
这里,我得出了一个浅层次的结论:
语言也好,平台也好,只是工具。因为它是一个必要条件而不是充分条件。不会那些流行的东西,不是好事,但还不是致命的坏事。因为充分条件是要有专长。这个专长是别人不容易有而市场上仍然需要的。我看到很多人的简历,往往罗列了C++,JAVA, ORACLE有多熟。这些不再能够make difference了。
当然这些流行常用的东西也是会得越多越好,越熟越好,艺不压身。只是比起挖掘自己经验中真正称得上是专长的东西来说,它们相对不重要一些。
(后来,我在另几位拿了博士的朋友那里对这个问题有了更深层次的认识,在后面有专题讨论。)
另外,为了保持对一种技术的熟悉是非常费时间和精力的。如果维持几种方向的熟悉则更难。
打个不太准确的比方,你很熟悉SQLServer, 目前靠它吃饭。你发现公司有趋势要把数据库平台转到ORACLE上,你很机灵,马上自学,几个月内拿到了ORACLE DBA的证书。结果那些没这样做的同事可能被lay-off了。而你survive了。但是先别高兴得太早,公司留下你并不是因为你ORACLE经验足够强,毕竟是新出炉的,能蒙过一时,蒙不了一世,假定经理也很聪明。常见的情形是,公司从外面招聘了ORACLE真正的高手来主事,你被留下是因为你熟悉SQLServer, 也会ORACLE, 有段时间两个系统都要保留,在porting的过程中比其他只会SQLServer的人有优势。你痛感这一点,发愤要让自己成为ORACLE的高手(到这一步,大多数人就已经做不到了,我这是个虚拟的例子),工夫不负有心人,你终于成为高手了,虽然还比不上那个从外面招来的自从毕业一直在干ORACLE的人。
你又干了一阵,公司又裁员了。你因为ORACLE毕竟不是第一熟,所以被lay-off了。可是这时你也不是很怕,因为这间公司你也呆腻了,效益也不好,早就想跳槽了。你现在ORACLE已经相当熟了,SQLServer又是大拿,结果终于找到了新工作,可是新工作是做SQLServer的。拒绝之,非要找ORACLE只是因为觉得ORACLE更有未来, 是不合常理的。好,你接受了这个offer. 可是,3年SQLserver干下来,发现自己好不容易学得这么好(花了几年的业余时间哪!)的ORACLE又生得拿不出手了。
别再用“一通百通”来抬杠了。毕竟以前有基础,下次要重新捡起ORACLE时会快一些而已。在这种专业领域,别人一看就知道你的程度如何。
我举这个例子的要点是,maintain几样技能如此之难。每样都如逆水行舟,不进则退。新的工作往往只用你一样技能,一段时间后就把其他的荒疏了。这是每个程序员都要面临的困境之一。
刚才提到一位ORACLE的高手,你这么费劲去学ORACLE也没能超越他。因位他一直就在搞ORACLE, 搞得太深了,不管到了那里,被layoff多少次,他都有实力重新找到ORACLE的工作。只要市场上还很需要ORACLE.
在职业市场上有通才和专才。有很多这样的专才,在不同的领域。就象JAVA, C++这样的大路技能,我也见过真正的专才,别人也是当宝贝的。
可是专才的困境是也许有一天这种技术逐渐从市场消失了。就象当年做ES/9000和AS/400的人一样。严格地说,也不是绝对不需要这种人才了,只是需要量太少了。这是困境之二。更多精彩文章及讨论,请光临枫下论坛 rolia.net
有个朋友一直在做我羡慕的流行技术,前几年过得很滋润,不料,风云突变,公司垮了,技术虽新,市场无情。再求职业竟异常困难。Java也好,Javascript也好,JSP/PHP/ASP也好,EJB也好, SOAP也好,WebSphere/WebLogic也好,满街都是懂的人。最近几年改行学计算机的几乎都在学这些。而且,还挺难区分谁是真正内功深的。
而另一位老兄,一直在用C写编译器。也因公司垮了而丢了工作,却很快找到了新的工作。很简单,对于需要写编译的人来说,一看就知道面试的人水平如何。
接着说我自己的事,我投入UNIX系统开发后,其实做的东西还是非常底层。在这个互联网时代还是非常legacy的东西。很长一段时间我也是整天用C. 因此老担心自己出去后找不到工作。
但是,这个担心一直没有发生,直到我离开原部门,如愿以偿地去搞fancy的技术后,接我手的人不但没有丢工作之虞, 反而成了公司的红人。因为几个我们当时搞出雏形的项目成了创收大户。而几个从公司辞职走的人也很快凭其熟悉各种UNIX/Linix在系统层的差异而找到了不错的工作。
这里,我得出了一个浅层次的结论:
语言也好,平台也好,只是工具。因为它是一个必要条件而不是充分条件。不会那些流行的东西,不是好事,但还不是致命的坏事。因为充分条件是要有专长。这个专长是别人不容易有而市场上仍然需要的。我看到很多人的简历,往往罗列了C++,JAVA, ORACLE有多熟。这些不再能够make difference了。
当然这些流行常用的东西也是会得越多越好,越熟越好,艺不压身。只是比起挖掘自己经验中真正称得上是专长的东西来说,它们相对不重要一些。
(后来,我在另几位拿了博士的朋友那里对这个问题有了更深层次的认识,在后面有专题讨论。)
另外,为了保持对一种技术的熟悉是非常费时间和精力的。如果维持几种方向的熟悉则更难。
打个不太准确的比方,你很熟悉SQLServer, 目前靠它吃饭。你发现公司有趋势要把数据库平台转到ORACLE上,你很机灵,马上自学,几个月内拿到了ORACLE DBA的证书。结果那些没这样做的同事可能被lay-off了。而你survive了。但是先别高兴得太早,公司留下你并不是因为你ORACLE经验足够强,毕竟是新出炉的,能蒙过一时,蒙不了一世,假定经理也很聪明。常见的情形是,公司从外面招聘了ORACLE真正的高手来主事,你被留下是因为你熟悉SQLServer, 也会ORACLE, 有段时间两个系统都要保留,在porting的过程中比其他只会SQLServer的人有优势。你痛感这一点,发愤要让自己成为ORACLE的高手(到这一步,大多数人就已经做不到了,我这是个虚拟的例子),工夫不负有心人,你终于成为高手了,虽然还比不上那个从外面招来的自从毕业一直在干ORACLE的人。
你又干了一阵,公司又裁员了。你因为ORACLE毕竟不是第一熟,所以被lay-off了。可是这时你也不是很怕,因为这间公司你也呆腻了,效益也不好,早就想跳槽了。你现在ORACLE已经相当熟了,SQLServer又是大拿,结果终于找到了新工作,可是新工作是做SQLServer的。拒绝之,非要找ORACLE只是因为觉得ORACLE更有未来, 是不合常理的。好,你接受了这个offer. 可是,3年SQLserver干下来,发现自己好不容易学得这么好(花了几年的业余时间哪!)的ORACLE又生得拿不出手了。
别再用“一通百通”来抬杠了。毕竟以前有基础,下次要重新捡起ORACLE时会快一些而已。在这种专业领域,别人一看就知道你的程度如何。
我举这个例子的要点是,maintain几样技能如此之难。每样都如逆水行舟,不进则退。新的工作往往只用你一样技能,一段时间后就把其他的荒疏了。这是每个程序员都要面临的困境之一。
刚才提到一位ORACLE的高手,你这么费劲去学ORACLE也没能超越他。因位他一直就在搞ORACLE, 搞得太深了,不管到了那里,被layoff多少次,他都有实力重新找到ORACLE的工作。只要市场上还很需要ORACLE.
在职业市场上有通才和专才。有很多这样的专才,在不同的领域。就象JAVA, C++这样的大路技能,我也见过真正的专才,别人也是当宝贝的。
可是专才的困境是也许有一天这种技术逐渐从市场消失了。就象当年做ES/9000和AS/400的人一样。严格地说,也不是绝对不需要这种人才了,只是需要量太少了。这是困境之二。更多精彩文章及讨论,请光临枫下论坛 rolia.net