觉先

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  127 随笔 :: 0 文章 :: 446 评论 :: 0 引用

 

IT外企那点儿事(1):外企也就那么回事

IT外企那点儿事(2):多种多样的外企

IT外企那点儿事(3):奇怪的面试

IT外企那点儿事(4):激动人心的入职演讲

IT外企那点儿事(5):像系统一样升级

 

技术路线和管理路线始终是每个程序员纠结的问题,也是各大论坛经常被辩论的问题。

然而一个有趣的现象是,在现实生活中,人们多愿意承认自己不精通某项技术,却很少有人愿意承认自己不能做管理。技术方面有问题多能够校正自我,而管理方面有了问题却总认为是对方的错,总之领导怨员工,员工怨领导,闹得不可开交。

在中国传统的官本位的思想中,不能不说管理路线占了绝对性的优势,尤其是在稳定的外企,管好管坏极难衡量的情况下。

做技术苦啊,相比于管理路线,有如下的弱势:

 

首先,IT业的技术变化太快,弄的技术人员疲于奔命。年轻人可以每天晚上几个小时的看新技术的书籍,而年纪偏大的你上有老下有小,做饭,洗衣,陪老婆,照顾老人小孩,逛超市,每天能有一个小时的学习时间十分不易了。如果是你已经很熟悉的领域,你自然可以用较少的时间就能达到年轻人较长时间看完的东西(理想状态下),然而公司的项目所用的技术方向可不是随你心愿的。如果你是一个Java高手,碰巧公司买的一个第三方的库是用C++写的,需要对其进行封装,如此艰巨的任务,工程师中你的薪水最高,你不入地狱谁入地狱啊。你总不能说:我只负责Java的部分,C++的别来找我吧。

 

也许你经常听领导说:“编程主要靠思想,语言和平台无所谓”。然而如果你跳槽的时候,却经常听到面试官这样说:“好像你没有太多这方面的经验嘛”,你却不能以我很有编程的思想来回答。此矛盾之处着实使人困惑许久。技术路线还是分很多的方向的,正如武林有很多的门派。语言,操作系统等属于内功,然而只有内功却不足以行走江湖,必须还要有一定的套路,如Debug tool,profile tool,出现问题后的分析办法,编程时候的各种习惯,一些非常管用的技巧等,都是因语言和平台不同而不同。虽然对于初级的工程师来说,这些不是很重要,然而工作三年五年之后,是否能够熟练运用这些套路来准确的定位问题和解决问题,却是区别你是初级工程师,还是高级工程师的一个标志。当然当你在上升到项目经理的时候,又可以只谈编程思想的时候了。一句实话,一个要饭的不要因为听富人说吃青菜养生就见肉也不吃。周易中,同样在乾卦,同样元亨利贞,初九则应潜龙勿用,九五则可飞龙在天了,不同的位,同样的话,意义不同。

 

其次,没有优先知情权。当任务到来的时候,美国那面的老大一般是先发邮件给项目经理的。项目经理会进行一系列统筹考虑后再选择发给那些人。作为同项目经理同一级别的技术人员,是否提前或同时,甚至晚于与其他技术人员收到邮件,取决于你技术外的能力(你的reputation, 你和项目经理的关系等)。上面的文章也说过了,在外企,邮件是一门很大的学问,也决定了从属关系。把本来你擅长的任务先发邮件给他人,从而变成了他人的任务,也不是不可能的事情。当然当美国老板过来的时候,陪同和展示成果的,也多是管理人员的事情,虽然里面全是你的心血。

 

其三,没有资源支配权。项目经理一般可以支配多种资源的,如买硬件,Team building的经费,培训的机会等。但是相同级别的技术人员却没有。

 

其四,没有绩效评定权。任何员工的绩效都是基本由其report得顶头上司起决定作用的。相同级别的技术人员可能会有一些评价做参考,但是你不会知道和你平级甚至下级的薪水和绩效。

 

最后,没有人事任免权。一个员工是否能够进某个项目组,也基本是项目经理起决定作用的。一般的外企都会有推荐的制度,而通常会发现一般状况下(被推荐人不是明显的差),管理路线的人推荐到其他组的人比较容易录取(同组推荐没有推荐费啊)。大家总要多少照顾个面子嘛,万一哪天要向对方的组推荐自己的人呢?

 

基于上述几点,经济基础决定上层建筑,你也就怪不得基层员工对你仅仅是因为技术而产生的尊敬,而对manager则是因为既威且信而产生的敬畏了。也许其实是你的建议是正确的,大家却都同意按照manager的来做;也许你一把年纪还要和年轻人因一个小小的设计争得面红耳赤,而他在manager面前总是yes, ok, i am 100% agree;也许你因一项新技术不很精通而被新人鄙视;也许就没有也许。

 

当前的中国是浮躁的,以上的原因造成大批大批的人涌入管理路线的独木桥,也造成了一些不合格的管理者走上了管理岗位。也许有这样的现象,明明在国外仅够做高级工程师的在中国做了Team lead,却在和普通工程师争功劳;在国外仅够做Team lead的,在中国做了manager,却不能很好的领导多层化的组织结构。

这种情况是悲剧的,却不仅仅在软件业,包括高校(系主任更容易拿项目),包括医院(院长更容易申请经费),包括研究所。

 

这也是为什么总有转管理,转售前,转销售,甚至转其他行业的论调的原因了。

其实技术路线也有它的好处,你可以埋头认认真真研究自己感兴趣的技术,两耳不闻窗外事。而由于一直没有放下技术,跳槽也相对容易的多,毕竟在中国,号称会管理一个团队的一抓一大把,而真的很有经验的技术人员却不是很多。

作为软件工程师,我们应该找到一条属于我们自己的路。

演示文稿1

让我们来看上述三条曲线,是随着时间的推移,收入的变化。

 

很不幸,技术人员的收入曲线基本成C曲线状,也即刚开始收人较高,也能较快增加,后面随着时间的推移,收人增长略显平缓。

 

这主要是技术更新迅速的结果,设想从工作开始,就接触某项技术和某项框架,逐渐的掌握直到精通,到了十年的时候,正是规模效应开始体现的时候,可惜,此框架已经不流行了,已经淘汰了,行业中已经使用另一种语言或者框架了。也许你会说,以我十年的经验,对于新的框架也会更好的掌握。是的,我承认,然而由于框架的更新,你所谓的更好的程度,相对于刚接触新框架两三年的人来讲,公司不足以付给你另外7年经验所应给的薪水,毕竟,你也不是很熟。所以C曲线的形态显示出来了,由于技术的更新,你所得到的薪水增长远远低于你的经验所应该带来的薪水增长。

 

原因就在于:不易积累。

 

积累,尤其是对我们普通人来讲,是非常重要的,是最后成功的重要途径。当我们看《大家》栏目的时候,其实我们可以看出,这些成功人士基本上分两种,一种是天才,很年轻就能够取得很伟大的成就,当然我们不可能是这种人。另一种是泰斗,即靠多年的积累而取得的最后的成就,比如2008年获中国国家最高科学技术奖的吴征镒院士,被称为中国植物的“活词典”。虽然我们不期望能够成为大家,但是他们的精神和经验却能给我们启迪。像植物,或者是医生,是相对比较容易积累的行业,吴老可以在90高龄,如数家珍的说着自己年轻的时候积累下来的各种植物的知识。而工作十年的软件工程师,却难以启齿十年前的语言和框架,那已经out了。

 

这也是为什么很多销售的同学最后薪水会越做增长越快的原因。比如他们培养一个客户能得来收入1000元,随着客户的不断积累,手中有20个客户就有20000元。而软件工程师,看了10本fortran的书,得到一份1000元的工作,后来又读了10本Java的书,再加上经验,可能得到1500元的工作。

 

所以,我们也要学会积累,争取从C曲线变成B曲线,使得我们积累的经验能够带来相应的薪水。所以本人窃以为(仅供参考,自己的路还是要自己走),有至于从事技术的软件工程师,尽量选择一些可以积累,相对稳定的方向,如Linxu内核,windows driver等,相信一个做了10年的Linux kernel工程师,绝不是一个可以读几本书就能够赶上的人。而很多流行的上层框架,如SSH等,如果你熟悉了它们的每一行代码,当Web开发开始使用其他框架的时候,岂不悲剧。(没别的以上,也希望SSH青春常在)

 

然而如果在事业的后期,想成就A曲线,就不是容易的事了。

 

当你想以较少的经验积累获得较高的收入,则必须要有放大器的作用,这种放大器我们经常能够接触的到,即营销。

很多研发人员十分鄙视管理和销售,营销。然而我认为,我们可以不从事管理和销售工作,然而我们最好了解一些人与人之间的交流规则,而非天天埋头于人与机器的交流规则。

 

可以举几个例子,比如我们卖烤鸭,当我们做的不好吃的时候(技术不好),一只烤鸭卖5块钱,慢慢的我们有经验了,能烤出好吃的烤鸭了,也就能够卖10块钱,再加上好吃的调料,良好的环境,最多也就一只20元,到头了。而全聚德的烤鸭198元一只。

再比如,普通包子铺的包子5毛一个,你如果能够做的好吃1块一个,也就差不多了,而天津狗不理包子一个10多块,20多块。

这就是营销的作用,这就是品牌的力量。

也就可以理解为什么李开复要给大学生写信了,从而创新工厂即便比原来薪水少,即便每周工作60小时,也有大批程序员欣然而往。也就可以理解各个公司的老总总是不定时的出现在电视上,不断重复着自己成功的故事。

 

程序员不应该老待在自己的圈子里面,埋头做着自己的事情,而是要想办法扩大自己的影响力,多交朋友,多参加技术会议,多参加各种聚会。

有很多人抱怨,刚毕业就要工作经验,诸葛亮没有工作经验,不也成功就业了吗?《三国演义》中是这样描述诸葛亮的"或驾小舟游于江湖之中,或访僧道于山岭之上,或寻朋友于村落之间,或乐琴棋于洞府之内,往来莫测,不知去所"。这那是隐居啊,不出茅庐而名声在外,工作也是至交徐庶鼎力推荐的,卧龙先生可不仅仅是束发读史书啊。

 

总而言之,窃以为,做一个程序员,一要钻下去,积累技术,二要跳出来,影响世界(虽然只是一点点)。

posted on 2010-05-13 01:51 觉先 阅读(6602) 评论(36) 编辑 收藏

评论

"做一个程序员,一要钻下去,积累技术,二要跳出来,影响世界" 说的好。

窃以为,做一个程序员,就应该追求这样的境界,哈哈~
 回复 引用 查看   

#2楼 2010-05-13 08:31 高天乐      
楼主文采真好,说了很多实际有用的话。
 回复 引用 查看   

#3楼 2010-05-13 08:44 兔兔子      
在我国,只做技术的是没有什么前途!
 回复 引用 查看   

#4楼 2010-05-13 09:08 Showdren      
就技术与管理说下自己的想法,有个发现,以前有很多迷茫的时候,而走出迷茫的方法就是重新寻找目标,而定制的目标都是与技术或学习有关,然后就充电,在这个过程中,慢慢的就会发现学习可以使自己有信心。但是这个目标的定位自己也不知道是不是正确,可能就是没有经过所以处于无知状态。您的文章给我的新的启示,想要以后做什么,给自己的定位应该越早越好。可是又回到原点了,怎么合理的确定自己以后的发展...,这个问题一直在我脑中循环。
 回复 引用 查看   

#5楼 2010-05-13 09:18 Coki      
写的太对了!一直跟着看果然是正确的!

顺便问一个小问题,我感觉是有道理的,请高人解析:

技术,特别是软件开发技术,整体的发展好像是一个不断的堆积木的过程,某个时期的上层技术经过一段时间的发展就极有可能慢慢沉淀下去变成下层技术了。

从纵向来看,比如C之于汇编,刚开始C是上层技术,当有比C更上层的技术出现之后,比如C++之类,C语言就渐渐成为了下层技术,而出现JAVA、.Net这类技术之后,C++又渐渐的下沉了。

从横向来看,原本的算法累积起来变成模块,模块组织起来变成组件,组件合并之后变成框架,基于框架之上开发出应用程序,而之后这些程序加入更庞大的项目又会变成基础结构。随着软件业的发展,更大更复杂的软件系统越来越多,这个趋势就越明显。

那么,会不会有一天,会产生基于.NET之上的更智能更简洁的技术?比如第四代语言?更加智能的语言?这些技术会用来解决更复杂的问题?其实随着.NET体系的不断发展,这个也越来越明显了,WPF\SilverLight\linq\AEF等等这些随着.NET发展逐渐添加进来的东西越来越趋向于把.NET原先浮在表面上的技术压下去。

究竟符合什么特征的技术会被时代挑选出来,进而保留成下一个时代的底层技术呢?其实人类的整体发展也是在不断地积累,被验证正确的可用的东西会慢慢沉降下去,前一代人研究一生的发现,在当今的教科书上可能也就一笔带过了,扯得更远一点,会不会有哪一天,人类发现自己已经无力控制庞大的知识了,以至于只能在前人的基础上继续创造,而如果哪一天前人留下的东西损坏了,人类的文明就会失去根基,彻底崩塌呢?
呵呵……年轻人的胡思乱想,还望智者不要见笑啦!~
 回复 引用 查看   

#6楼 2010-05-13 09:25 Tony Zhou      
那一开始不做程序员做销售不就好了么。。。
 回复 引用 查看   

#7楼 2010-05-13 09:37 个人知识管理      
一只烤鸭卖5块钱,慢慢的我们有经验了,能烤出好吃的烤鸭了,也就能够卖10块钱,再加上好吃的调料,良好的环境,最多也就一只20元,到头了。而全聚德的烤鸭198元一只

==和技术无关,和资本有关;
资本会改变你的客户定位
 回复 引用 查看   

#8楼[楼主] 2010-05-13 10:05 觉先      
@Tony Zhou
谢谢您的关注。

本文章是对从事软件工程师的困惑的思考而已,我还是爱软件业的,而不是爱销售业啊。

而且千万不要非此即彼的二元思维啊,我觉得程序员思想要开阔,要包容一些,而不要自我清高啊。
 回复 引用 查看   

#9楼[楼主] 2010-05-13 10:07 觉先      
@Coki
很有见地啊。

这方面还真的没有仔细考虑过。
 回复 引用 查看   

#10楼 2010-05-13 10:19 Jerry Qian      
哈哈顶顶。
 回复 引用 查看   

行,相当有道理啊,而且可以看出作者的知识相当的渊博啊
 回复 引用 查看   

#12楼 2010-05-13 10:54 oyster.oy      
不错~
 回复 引用 查看   

#13楼 2010-05-13 10:56 禅酷      
我说技术就要做底层的,管理要做高层的,永远不过时。
 回复 引用 查看   

#14楼 2010-05-13 11:01 赵文星      
楼主这个系列真的很不错,给人的启示很深啊。
 回复 引用 查看   

#15楼 2010-05-13 11:54 T.M      
受教了,顶
 回复 引用 查看   

#16楼 2010-05-13 12:13 悟道2010      
推荐,收藏.话说.没见过198一只的鸭子.也没见过10几20几块一个的包子.想像不出来是啥样子.持续关注此系列.
另外邀请.net大牛加入本人qq群868500
 回复 引用 查看   

#17楼 2010-05-13 12:17 Damon.Tian      
国内程序员都在求生存,国外程序员都在求发展。人力成本的差别注定我们大部分都会是一个杯具。
 回复 引用 查看   

#18楼 2010-05-13 12:34 李胜攀      
说的真好!
 回复 引用 查看   

#19楼 2010-05-13 15:19 施杨      
好文章,喜欢最后一句
 回复 引用 查看   

#20楼 2010-05-13 15:39 AllenLee      
我一直埋头研究技术,看来需要重新规划下了
 回复 引用 查看   

#21楼 2010-05-13 15:47 Aaron_Aanubis      
师者,所以传道受业解惑也。真该尊称您声:“老师”!
 回复 引用 查看   

#22楼[楼主] 2010-05-13 16:01 觉先      
@Aaron_Aanubis
不敢不敢,一些感悟而已,与大家分享,可能有不对的地方,关键还是自己把握自己的人生啊。
 回复 引用 查看   

#23楼 2010-05-13 16:03 duncannjm      
楼主好文笔,不仅仅是个技术的,看来博客园还是人才济济啊。
 回复 引用 查看   

#24楼 2010-05-13 16:35 史建敏      
/**
@ 史建敏
*/

每天一回,最热帖子
 回复 引用 查看   

#25楼 2010-05-13 18:19 波哥2010      
每天专研一点点,只要你坚持就必定成功,但是人呀!惰性!所以你要仔细看好自己的方向!
 回复 引用 查看   

#26楼 2010-05-13 20:19 aiaitiantian      
情商和智商都要发展,齐头并进。每天坐在电脑前确实会散发出一种呆气,不愿意跟人交流了。
 回复 引用 查看   

#27楼 2010-05-13 21:44 .COM 缺氧      
长见识了。
 回复 引用 查看   

#28楼 2010-05-13 22:52 gracestoney      
写的很不错,支持下~~~~~~

技术和管理完全是不同的方向啊,如果转管理,其实也要学很多很多东西,管理是一门艺术,要想得道也要持之以恒啦。
 回复 引用 查看   

#29楼 2010-05-14 09:23 liu_xf      
写到我心坎上去了

楼主我转载了,时不时的看一下,鞭策自已
 回复 引用 查看   

#30楼 2010-05-14 09:48 潇湘隐者      
深受启发
 回复 引用 查看   

#31楼 2010-05-14 09:52 柳东      
我徘徊在技术与销售之间.......还没找工作
 回复 引用 查看   

@柳东
静待兄弟去向
 回复 引用 查看   

#33楼 2010-05-14 16:58 sunnyysb      
哈哈,顶顶
 回复 引用 查看   

#34楼 2010-05-22 21:40 fyljf      
博主的例子总是举得很到位
 回复 引用 查看   

#35楼 2010-09-20 13:21 hans.hu      
关于积累的例子,说得太到位了.
我认为技术上的积累无非就是这两类比较有前景:1,底层核心的部分(如Linux Kernel);2,高门槛、更新慢(如SAP)。
 回复 引用 查看   

#36楼 2011-07-25 23:28 YYCY      
谢谢楼主,说的太好了
 回复 引用 查看