
1. 根据我长期的观察,做开发技术的人按照其人生路线设计,可以分成几类。第一类是把自己的命运寄托在一项事业上。这样的人知道自己想干什么,而且有能力把技 术当工具来实现自己的想法和事业。这里所说的事业是广义的,并不是说你非要自己开公司当老板,而是说你认可一件事情,比如促进人们交流和言论自由,带给大 家更多娱乐,提升大众身心健康水平,增强国家国防实力,或者提升某个行业的信息化水平,然后你能够以技术为手段,在这个事情上做出成绩。这种人做着自己认 为值得一生投入的事情,愿意领略这一追求带来的人生起伏并且无怨无悔,我认为这是做技术的最高层次。第二类是把自己的命运寄托在组织和团队上。这种人虽然 不知道自己到底想干什么,但是技术水平出色,而且综合素质突出,勇于变化,能够把技术当敲门砖进入某个优秀的团队,以团队的目标为目标,依据团队的需求而 转型或者坚持,跟团队一起干出一番成绩。这类人有令人羡慕的职业背景,在大公司里高薪厚禄,生活比较安定舒适,但是中年以后会经常自问到底做了什么自己想做的事情, 为自己过于风平浪静的人生感到惆怅。但总的来说,这个层次也是比较高的。第三种是把命运寄托在技术上。这种人有能力成为技术的专家,然后就希望奇货可居, 待价而沽,把技能当商品出售谋求富足人生。这种人没有大的人生目标,不想把自己的命运跟企业和组织绑定在一起,也不愿意做什么改变,只是满足于技术高手的 层面,寄希望于其技术专长能够长期值钱,有点投机主义者的意思。第四种是还处于出卖劳动力的阶段,在这里就不多说了。
我想说的是,在过去很多年里,很多技术人实际上是把自己定位在第三种人里。而实际上,只有成为第一类和第二类人,才算达到了比较成功的状态。第三类人实际上最危险,因为技术的变迁不但是可能的,而且是一定的。他们要么马上被淘汰,要么追得老了累了追不动了以后被淘汰,被淘汰只是时间问题。 因此,如果你认为某个软件技术的兴起或者衰落对你个人的职业生涯构成了决定性的影响,那么你可能正走在错误的路线上,应当尽快改弦更张。
2. 对个体软件人来说,什么是核心竞争力?不是时间差,不是技术,不是基本功,不是什么思想,也不是聪明脑瓜,而是你独特的个性知识经验组合。
有人看到新技术出来了,急急忙忙赶上去尝鲜,以为自己快人一步,就能如何如何,实际上这种想法根本不靠谱,最多在论坛博客上风光两天,等这项技术投入实际应用以后一点便宜也占不到。
有 人把某个技术、框架、平台研究得里外通透,以为这样就能奇货可居。实践中,这种人能红火一时,但很难超过5年。这是现阶段技术发展生命周期所决定的。此 外,现在越来越多人意识到了,能够靠读书看文章读代码做练习学会的东西没什么门槛,智力正常的人只要愿意花功夫,都不难达到你的程度。有的人认为,自己有 能力驾驭技术潮流,哪个红学哪个。我在技术行业里不敢说阅人无数,见过的高手上百是有的,说句不怕得罪人的话,能够连续抓住两个以上的潮流并且始终处于领 先位置的人及其少见,一只手就数的过来。更常见的情况是,上一个阶段的成功会成为下一个阶段的障碍,所谓随机应变屹立潮头之说,往往只不过是当红小生给自 己壮胆的狂言,时过境迁之后,他就只能听着新一代当红小生的豪言壮语而默默苦笑。
有人强调基本功,这是对的。在任何技术性行业里都一 样,基础打得多深,上面就能造得多高。现实中,基本功扎实的人很少见,这跟中国教育的弊病有关,所以基本功好的人,一般应变能力强,学习速度快,比较受欢 迎。但说基本功是核心竞争力,还是没有抓住本质。我们经常能看到基本功差不多的两个人,一个发展的很好,一个发展平平,这表明基本功成功职业生涯的是重要 条件,但不是决定因素。
有人强调这个那个思想,实际上软件行业里的伟大的思想就那么屈指可数的几个,窗户纸一点就破,其他衍生出来的思想,就跟技术风潮一样,各领风骚三五年,成不了你核心竞争力。
还 有人强调自己的智商,聪明脑瓜,觉得自己比别人聪明,自己的聪明是核心竞争力。大学生、刚毕业的人持这个观点的比较多,然而有过人生阅历以后,自然会对这 种观点不以为然。本质上这是因为社会对于"聪明"的定义与学校不同,一个解题高手在学校里可能是受人仰慕的聪明脑瓜,但在职业人生中则可能是个大傻蛋。我 们身边很多人走了一条不尽如意的人生道路,往往不是因为他们不够"聪明",而是因为他们太"聪明"了,聪明反被聪明误。我想这也是为什么人们要发明"智慧 "这个词以区别于"聪明"的原因。另外,关于这种观点,还有一点不得不指出,那就是在软件这个行当里,一般聪明就可以了,绝顶聪明占不到多少便宜。
那么核心竞争力是什么?我观察圈子里很多成功和不成功的技术人,提出一个观点,那就是个人的核心竞争力是是他独特的个性知识经验组合。 这个行业里拥挤着上百万聪明人,彼此之间真正的不同在哪里?不在于你学的是什么技术,学得多深,IQ多少,而在于你身上有别人没有的独特的个性、背景、知 识和经验的组合。如果这种组合,1,绝无仅有;2,在实践中有价值,3,具有可持续发展性,那你就具备核心竞争力。因此,当设计自己的发展路线时,应当最大限度地加强和发挥自己独特的组合,而不是寻求单项的超越。而构建自己独特组合的方式,主要是通过实践,其次是要有意识地构造。关于这个观点,话题太大,我不打算赘述。
3. 虽然技术路线的选择不是核心竞争力,也不应该具有决定性,但对于个人职业路线还是具有比较重要的影响力。但这并不是说,我们应该煞有介事地把自己归于 Java或者.NET技术阵营,整天捧本书吭哧吭哧啃。正确的态度应该是着重于你要干的事情,然后认真把这件事情做好,通过必要的学习将所需的知识体系构 筑完整,在整个过程中及时更新知识体系。只有心理没谱的人,才会为新技术的推出感到惶恐,因为他不知道自己要干什么,也就不知道自己要学什么,看到什么东 西出来了都以为如果不学就会落伍,才会觉得是个压力,日积月累,才会痛苦彷徨嚷嚷怎么办。相反,如果你很清楚地知道自己要做什么,就会发现,其实必须及时 更新的知识变化并不频繁,大多数新鲜玩意根本不在自己关注范围内,任他三仙落地,五佛升天,与我何干?因此完全可以安步当车,稳扎稳打。
4. 几年前我刚加入CSDN的时候,.NET和Java之争是最热门的话题。现在回过头看,其实当时无论你选择那条路,如果认真做下去,搞些实事,别玩虚活的 话,现在都应该有成就了。当然,客观上来说,这几年微软技术变化是比较快,弯弯绕得比较多,相比之下,如果当时你选择的是Java,可能这几年过的比较幸 福一些,这是事实。我对此并不是没有自己的看法,但是这毕竟不是多么大的问题,实际上Java这几年折腾得也够猛,只不过作为一个比较开放的领 域,Java为其追随者保留了更多的自由度,而微软的追随者大多数有一种被驱赶的感觉而已。话说回来, 微软的技术变革并不是没有章法的,其今天的技术架构,早在2003年就已经明明白白地公诸于众,只不过因为某些微妙的原因,一些微软跟随者这几年被带着兜 了一些圈子,浪费了一些精力,比较辛苦。不过,现在.NET技术体系的尘埃基本落定,从体系结构上看,相对稳定的时期已经到来,投资微软技术可以放心。
5. 不过我相信未来不同技术流的应用领域会出现一些明显的分化。在中国,涉及国防、国家安全、命脉产业和关键行业的服务端要害系统,国产化改造是阻挡不住的潮 流,长期来看,开源和Java将在这个领域占据主导低位。其他的领域,随着微软技术变革的的大势确定,相信微软的优势不可小觑。这里没有考虑中国政府可能 做出的产业调整政策。这次微软黑屏事件,无论是否出于微软本意,其最大的效果在于向有关部门展示了一下其信息战力,中国政军内部有关机构对此不可能不加以 警惕,这是否会引起中国国内IT产业政策的调整,现在还不得而知。但我相信,微软系统恐怕将在不长的时间里与中国关键要害领域的核心系统彻底说拜拜。未来 中国IT系统的格局,很有可能是处庙堂之高则清一色Linux/Java,居江湖之远则Windows占主导。
6. 几年前还有一个热烈争论,就是Java和C#之争。现在实际上尘埃已经落定,两个语言的定位已经分道扬镳。Java实际上已经落实了成为系统语言的诺言, 在现在的计算机体系结构上,Java与15年前的C一样,可以成为构造基础设施的利器,而且其性能相当不错,完全突破了之前人们对虚拟机语言的认识局限 性。我相信在未来,Java将有效地侵蚀C语言的一些曾经以为千秋万代永不变色的地盘。虽然同时Java也在向上发展,但是其力度与C#不可同日而语。相 反,C#主要是在往上发展,即将成为超级瑞士军刀,微软版十全大补膏,所有于应用开发有意义的特性都要加上,从编程语言发展来看,它将成为一株奇葩。作为 一个编程语言的爱好者,我正饶有兴致地注视着史上特性最丰富语言C#的发展动向。但是,不得不指出,C#的弱点在脚跟。自从用它开发Longhorn Avalon失败以后,微软暂时放弃了让C#成为系统语言的努力,专心专意让C#变成应用开发领域的超级无敌霸王3000,而在核心领域,仍然是C++、 COM当关。这就出现了有趣的局面,在可见的未来,微软体系内真正的核心软件基础设施,还是将由微软自己用C++来构造,而组合装配的应用开发,则由C# 完成。VB和CLR平台上的其他动态语言都不会有太多机会,因为C#将穷尽神智正常者一切关于语言的幻想。
以上几点,如果有人现在要选择技术路线,可以参考一下。但切记,技术路线的选择重要,但不具有决定意义。
--2008/11/8 莫华枫 <longsh...@gmail.com>
>
> 孟岩的新blog:http://blog.csdn.net/myan/archive/2008/11/07/3247071.aspx
> 这个转载或许有些多余,相信很多人都订阅他的blog。
> 不过,我觉得这个主题很值得讨论(争论)一下。
>
> 刚看了标题,我觉得这句话是典型的没错,但没有用。但是看了具体的文字,觉得其中的分析非常到位。
> 说实在的,现在各种各样的技术路线着实让我头晕。也有新入行的几个同事问我类似的问题。我差不多就稀里糊涂地搪塞过去。不过,就我本人而言,我不太会继续紧密地追随ms,或者任何一个具体的技术路线。老实讲,我也不知道自己该走什么路线。呵呵,迷失了。
>
> btw:我自认为是孟岩所说的第一类人。只是...,只是没有这等能耐,有心无力啊。
--
Any complex technology which doesn't come with documentation must be the best
available.
孟岩的新blog:http://blog.csdn.net/myan/archive/2008/11/07/3247071.aspx
这个转载或许有些多余,相信很多人都订阅他的blog。
不过,我觉得这个主题很值得讨论(争论)一下。
刚看了标题,我觉得这句话是典型的没错,但没有用。但是看了具体的文字,觉得其中的分析非常到位。
说实在的,现在各种各样的技术路线着实让我头晕。也有新入行的几个同事问我类似的问题。我差不多就稀里糊涂地搪塞过去。不过,就我本人而言,我不太会继续紧密地追随ms,或者任何一个具体的技术路线。老实讲,我也不知道自己该走什么路线。呵呵,迷失了。
我认为目标清晰才是最重要的,不论是成为他说三种中发哪一种,只要目标清晰并努力去达到,都是成功,当然纯粹的跟着技术走是不行的。比如你可以专搞高性能服务器开发,这是纯技术活,不论技术怎么变,你一直是在这个方向上,就可以具有你自己的核心竞争能力。再比如你可以搞企业应用开发,能够很好的让技术为企业应用服务,业务与架构的结合把握得很好,也是你的核心竞争能力。你有目标(不那糟糕的)并且你努力去达到,总是在路上,充实,就是成功。
--
SpitFire
技术其实是很(最)简单的。
这句话是我去年找工作的时候面试一家小公司时和他们的CTO聊天,他说的。他当时说的是"很"还是"最"我已经不太记得了,但这句话一直搁在我心里,时不时拿出来回味一下。面试的这家公司是一家互联网公司,诸位应该都清楚,互联网公司是最重视技术的,他们开出来的薪水往往都是最高的。一个互联网公司的CTO会说出这种话来让我觉得很惊讶。
借着孟岩这篇文章,我谈谈对这句话的看法。
从技术本身的规律来看,有二个方面决定了它是简单的。第一,技术具有很大的可替代性。在现在这个技术手段非常丰富的年代,很少有技术是不可替代的。不会java,用C也能做出来,当然在性能和难度上有优劣,但是总还是可以找到替代方案的。第二,由于搜索的出现,技术变得越来越容易学习。现在大部分的问题,都能在网上找到答案。想要学什么,想要做什么,上网搜就行了。搜索间接导致了工作技术含量的降低。
从一个公司的角度看来,无论是技术公司还是非技术公司,技术都是公司正常运营的一个环节。对于IT企业来说,尤其是互联网企业,技术的重要性会比一般的公司更加的高,但是,技术永远都不可能成为一个企业的全部。技术人员常常会产生一种幻觉,我们会认为产品是我们开发的,技术人员是真正产生价值的一环。就好比有很多的人对于中国在国际贸易中的分成很有意见,认为商品都是在中国制造的,但中国只能赚到1,而跨国公司什么都不生产就能得到6或者7。他们没有认识到,商品的研发,市场的开拓,品牌的建立和商品的销售这些没有产生实际产品的行为对于一个公司来说其实更重要,生产已经是一个最不重要的环节了。同样的道理,技术开发很多时候也处于和中国制造同样尴尬的地位。一方面,它确实是价值的直接制造者(软件产品就是咱写的),但另外一个方面,具体做什么样的产品其实不取决于开发人员,也不取决于技术,而是取决于市场和客户。而且,相比于销售或者市场,技术有更大的确定性和稳定性。很简单的一个例子,你的竞争对手一般情况下是不可能阻碍你的开发进度的。而对于销售来说,他们的成败取决于和对手的较量。毛主席说"与天斗与地斗与人斗,其乐无穷",而对于技术人员来说,我们没有这样的压力。所以,从公司的角度,哪怕是高新技术企业,技术也都是相对简单的一环。
孟岩老师的意思,一个技术人员,如果只是在技术上下功夫,只具有技术方面(比如编程)的竞争优势,那么他是很容易被替代的。一个人的核心竞争力应该包括了全方位的素质,包括他的行业领域的知识,沟通能力和人脉。做技术的很多时候对这些方面能力的培养并不重视,甚至很多时候很排斥。举个例子,我周围很多人就对于做咨询的人很不屑,认为他们很多人啥都不懂,就会忽悠。但其实,咨询做得好的人沟通能力都非常的强,这样的能力可能比技术好更难得。而且忽悠并不是个贬义词,会忽悠说明具有说服别人的能力,不懂还能忽悠就更厉害了。
所以我的观点是,做技术开发的眼界应该要开阔些,技术是基础,但是太专注于技术不是好事。"木桶的最大容量取决于最短的那块木板。"
以上的观点实实在在都是最近最深切的感受。现在经济危机,很多企业日子都不好过。有个朋友,他所在部门整个重组,研发方向重新定位。虽然没有裁员,但是有很多人需要去适应新的职位,这需要学习新的技术。他们中很多人在这里待了7,8年,都是很资深的开发人员,现在突然要转方向哪那么容易啊(很大方向的转变,比如从硬件要转做软件)。辞职不现实,都有家有小。想跳槽但是现在形势也不好,而且和刚毕业的年轻人比未必有优势。他和我说,看着他们我就想,等我到了这个年纪怎么办啊.....
在我看来,一个高深技术人员必然对于一种编程语言很精通,了解计算机的体系,对于计算机的操作系统很熟悉,例如内存分配什么的。
2008/11/9 莫华枫 <longsh...@gmail.com>要知道,过了30岁,人脑神经纤维已经全面髓鞘化,学全新的东西,就不那么容易了。
嘿嘿,看出来了,老莫也订了科学美国人。


--
刘未鹏(pongba)
Blog|C++的罗浮宫
http://blog.csdn.net/pongba
TopLanguage
http://groups.google.com/group/pongba
http://twitter.com/pongba
Delicious
http://delicious.com/pongba
Douban
http://www.douban.com/people/pongba/
2008/11/9 pongba <pon...@gmail.com>2008/11/9 莫华枫 <longsh...@gmail.com>要知道,过了30岁,人脑神经纤维已经全面髓鞘化,学全新的东西,就不那么容易了。
嘿嘿,看出来了,老莫也订了科学美国人。这都看出来啦。
以前都是买的,中文版。现在买不到了,索性down原版的了。不过,看起来累啊。
这才不是最简单的事。持之以恒的努力,是世界上最难做到的事情之一,天生工作狂除外。
对于大部分人来说,强调努力才是必要的。并不是所有人都能很快学习新东西,并不是所有人都有关系有财富有好爸爸,也不是所有人都有天资有聪颖有大把时间有大量资源。
如果人们不是在中国这种太子党公子爷横行的社会,那么"加倍努力"更可能给他们带来成功。
另外,你怎么学知识,你学的是横向知识还是纵向知识,你是钻研根基还是高屋建瓴,这和"努力"没有关系,无论你学什么,你都必须努力。所以,成功学不宣扬努力和方法论,我还真不知道它们能宣扬什么。而对于大部分人来说,自觉性根本没有达到不用扬鞭自奋蹄的地步,所以此时如何强调努力,都不过分。
富兰克•H•奈特的话,"决定一个人富有的三个条件,一是出身,二是运气,三是努力,而这三者之中,努力是最微不足道的。"
适用于中国倒是perfect的。但在美国,奥巴马第一个就不同意。当然他是个例,但是很多地方,人们都相信,只要我努力,我就能有机会成功。
----------------------------------------------------------------------------------
Yours Sincerely
Kun
2008/11/8 pongba <pon...@gmail.com>:
看别人学什么就跟着学什么,不免让自己沦为一个普通人而已。人各有长处,关键还是要发现自己擅长的地方,发现自己乐于花时间的地方,好好的坚持,俗话说行行出状元,总会有自己用武的地方的。
"这么多年来,
真正的技术革新要算VB,其他都没有什么...... "
VB?vb有什么革新?我原来以为vb做可视化编程比delphi早,算是一大创新。最近发现,原来apple做可视化编程比微软更早,apple的工
具叫什么名字不记得了。vb还有什么创新就真的不知道了。