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

Posted on

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

觉先

博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 :: 130 随笔 :: 0 文章 :: 544 评论 :: 0 引用 <2010年5月>日一二三四五六2526272829301234567891011121314151617181920212223242526272829303112345

公告

昵称:觉先 园龄:3年7个月 荣誉:推荐博客 粉丝:560 关注:3

+加关注

搜索

常用链接

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

推荐排行榜

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

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

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

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

当你千辛万苦熬过了重重难关,进入了外企的大家庭之后,第一步便是入职培训了。

入职培训非常重要,尤其是对于公司来讲。当然并不是说入职培训有多大的信息量,能够学到多少技术和流程。准确的来讲,这是从心理上拿下你的一步。

我们知道,心理学上有晕轮效应,所谓晕轮效应是指人们对他人的认知判断首先是根据个人的好恶得出的,然后再从这个判断推论出认知对象的其他品质的现象。如果认知对象被标明是"好"的,他就会被"好"的光圈笼罩着,并被赋予一切好的品质;如果认知对象被标明是"坏"的,他就会被"坏"的光圈笼罩着,他所有的品质都会被认为是坏的。

所以面试中,好的第一印象十分的重要。自然企业也想在与员工的第一次亲密接触的时候,在员工心目中留下美丽的光环。

和生产性企业不同,软件开发企业的工作量和工作成果比较难以衡量,即便有了软件工程的各种理论。所以说要想使得工程师们全心全意的工作,自然是攻心为上的。工程师们大多是很清纯的,有时候多少有些高傲,有些古代的士的气质。士可杀,不可辱,所以通过严苛的纪律逼工程师工作是行不通的,他们完全可以坐在电脑前面装作认认真真的写出bug不断的代码。然而士为知己者死,如果能够让工程师感觉到公司是他事业的摇篮,是他可以托付未来的地方,是可以"明朝携剑随君去,羽扇纶巾赴征尘"的刘备式主公(《卧龙吟》),则工程师们自然会视公司为己任,加班加点也毫无怨言,为伊消得人憔悴。

入职演讲所要起到的,就是这个效果。这也是很多民企和外企相比,有很大差距的地方。外国的资本主义已经十分成熟了,他们已经从马克思所批判的资本主义初级阶段中走出来,摆脱了通过延长劳动时间和提高劳动强度来榨取剩余价值的方式,而使用更加人性化的手段(如股份制,各种激励机制等,有大批大批的管理学大师在研究这个),让员工自愿自觉的劳动。而中国大多数的民企,还处在马克思所批判的那个时代,从我评it的差评榜的各种评价就可见一斑了。

为了完成上述任务,入职培训一般包括以下几个方面:老大的自我介绍,重要的位置,光明的前途,优秀的员工,企业的文化,良好的福利,学长的自白,快乐的互动。

老大的自我介绍

在入职培训的时候,老大一般是会出来露一面的,即便不是一把手,也至少是二把手,三把手。

一般老大总是很和蔼的,脸上总是露出笑容的,以显示自己的平易近人。

其实有一个规律,不仅是在职场中,即越是和你层次差别大的人,对你反而是越和蔼的,而对你凝眉瞪眼,怒目狰狞的人,也多是比你也强不了哪儿去的人。一方面可能是老大确有老大的气度,一方面层次差别大,你对他构不成什么威胁,谅你也翻不过天来。这可能是为什么我们敬爱的伟大领袖毛主席可能可以容忍一个兵叛逃再回来,却不能容忍彭老总给他拍桌子的原因吧。

老大的名字应该是在业界早就如雷贯耳的,即便不是,当其简历摆在我们面前的时候,也足够我们五体投地。

一旦使得你对他形成崇拜,这第一步的目的就达到了。

其实这是任何成功学讲座的开篇的必然套路,即一拉一打,或两者兼有,或只取其一。所谓拉,就是列举出自己的一长串的title,以及自己的一系列丰功伟业;所谓打,就是提出一系列你原来没有思考过的,或者认为是显而易见却被说成错的问题。这两者的共同目的就是对其形成崇拜。崇拜可以使人们的判断力大降低,从而会减少你对他之后说的话的辨别能力。想象进入演唱会的歌迷的情绪吧,他们是如此的呐喊,以至于听不到歌手的声音,没关系,此时的歌唱质量已经无关紧要,关键是这个歌是明星唱的就可以了。其实那些造星的公司们早就摸透了这些心态,正如《长尾理论》中说的那样,“他们已经发现了制造大热门的秘密:把魅力四射的年轻男人卖给年轻的女人。成功的要点无非就是帅气的外表和打造的个性,音乐本身被外包给一小组专家,几乎成了无关紧要的事。”

在一片清纯而又崇拜的目光下,老大可以进行对公司的介绍了。

重要的位置

入职培训的另一个重要目的就是要培养你对当前获得的职位的自豪感。也即使你觉得你在做一件将影响整个软件业的意义重大的事情,自然事后你会觉得十分可笑,但当时,扪心自问,你是认真的。

培养自豪感的逻辑过程是这样的:

  • 首先强调公司在整个IT业中的位置。如果公司能够排在整个IT业的前十位,此点不必做任何修饰。如果公司不能够排整个IT业的前十位,则会划分细分市场,直到能够排到前十名为止。如果在细分市场中能够排到第一,或者并称为几大XXX,则不必再进行修饰。如果不能,则往往冠以"仅次于XXX的XX企业",或者当已有并称为N大XXX的时候,称为"排名第N+1的XX企业"。通过此步,多能够建立员工对企业的自豪感,能够在外面理直气壮的说出企业的名称。
  • 然后强调研发在公司中的位置。IT企业中研发自然重要,然而当你和公司的市场人员接触过以后,他们却不全这么认为。因为市场人员是挣钱的,研发人员是花钱的,自然应该是经济基础决定上层建筑。然而研发人员是几乎接触不到市场人员的,所以此步需要明确的是在程序员心目中要树立只有他们做出了优秀的软件,公司才能够生存的信念。说到这里程序员们不要不服气,除了创业家作为程序员出身做公司的老大之外,还有那些企业的一把手是研发人员呢?一个统计的结果是,企业的一把手多出自两个部门:销售和财务。
  • 然后应该强调中国研发中心在整个世界所有的研发中心中的位置。由于中国有廉价的劳动力和广阔的市场,很多国际大公司还是喜欢把研发中心设到中国来的,当然是以被中国很多的优秀人才吸引的名义,而总部也是比较重视中国研发中心的。然而要说中国研发中心成为整个公司研发的核心,怕你很难相信吧。中国的研发中心自然不敢凌驾于美国的研发中心之上,所以一般的措辞是,整个世界的研发中心共有N个,而美国和中国,外加另外罗列的一个或者三个研发中心成为最重要的三大或者五大研发中心。这时候,老大也许会给你看一些公司的高层在各个场合赞誉中国研发中心的语句,所有的描述如同皇帝的谥号一样,只有正面的评价,虽然他们可能对印度研发中心也说过同样的话。但没有问题,这足以使出入职场的程序员们相信这是真的,直到在项目中,他们发现只能接受美国的指令,或者没有权限参与重要的设计的时候。
  • 最后要强调的是此一批入职者在中国研发中心中的位置。此处多会强调,此次招聘是高层早就计划好的一个长远的人才计划的一部分,你们进来参与的是具有战略意义的项目,这些项目将对公司的发展起到至关重要的作用,并处于同行业的最前沿,你们做出的产品将影响整个软件业。

就这样,通过步步推理,层层递进,员工似乎瞬间觉得从一个乳臭未干的学生,俨然将变成在软件业举足轻重的团队中的一员。此时的员工,眼中充满激情,心中充满渴望,如果不在此时此处付出自己的青春和热血,开启自己的事业,更待何时!

光明的前途

描述光辉的现在重要,描绘光明的未来更为重要,因为年轻人大多是为希望而活着的。

况且当前的社会是相对浮躁的,人们总是希望有某个机遇,通过某种捷径比别人更快的成功。记得鲁豫有约采访郭德纲的时候,他是这样描述他的北漂生活的:最初来北京,就是想找个名师拜在门下,说不定一次什么样的演出,就能够红了。不得不承认,本人当初也有这种心态,认为加入了一个无比有前途的公司,自己的事业能够得到指数级的增长。奇迹没有发生在郭德纲身上,世界上没有救世主,也不存在神仙皇帝,当自己没能够真正站立起来的时候,是不会有人怜悯你,给你捷径的。于是郭德纲开始了他长达十年的闯荡和积累,直到他成为了顶天立地的相声大腕。我自认为没有郭德纲的天赋,也是到后来才发现,一个人绝不会因为加入了某个组织从而鸡犬升天,绝不会埋头做好公司给你的每一件事情(并不一定都是有技术含量的事)从而随着公司的成功而成功,虽然加入一个好的公司是人生的催化剂,然而自己的路还是要自己来规划,自己的技术还是要靠自己一点一滴的积累,公司不会为你的前途负责,哪怕各个公司都有职业规划的系统,唯一对你前途负责的应该是你自己,所以当你前进的路上遇到阻碍,也一定是你过去的所为造成的,片面的抱怨公司和社会,是对自己的不负责任。记得看一期《中国经营者》节目采访京东CEO刘强东,当问到:如果你的企业将来面临失败,您觉得可能是什么原因?他回答:可能是因为我。不能不说,我们需要学习这种精神。

不过对于公司来讲,在员工心目中画一个大大的饼,还是很重要的。所以此处大多会提及技术路线和管理路线,并强调两者同样的重要(真的吗?我们以后讨论)。也会提及公司有成熟的职业规划系统,你和你的lead会定时一同规划你的职业发展,只要你认认真真做了公司给你的每一件事,自然前途大大的。也会提及公司会全面或者局部的扩张,总会有新的团队,新的项目出现,你会有很大的成长空间。

总之会使得我们相信,只要老子拼了,就能够很快升职,迅速到达成功的彼岸。

优秀的员工

任何人都愿意和优秀的人一起工作,所以必须让大家认识到,你们是最优秀的。

此处多会提及你们是从多少份简历中,选出多少进入笔试,又选出多少进入面试,最后拿到offer的,这个数字之间的比例和差额会让你大吃一惊,似乎没有想到自己原来这么优秀,悠然而生了一种自豪感。

用余世维讲座中的话来讲,当准入制度越严格,越能够激发员工的尊严。

用《影响力》一书的第三章承诺和一致原理来解释就是:履行一个承诺所要付出的努力越多,这个承诺对许诺者的影响越大。与不费吹灰之力就能够得到的那些东西相比,人们更加珍惜那些来之不易的东西。书中举了原始部落严酷的成人仪式和兄弟会入会的"地狱周"都会使人们对于部落和兄弟会更加的忠诚,也明确的指出跨国企业强化进入公司过程的难度,从而使新员工一旦进入公司,会有更高的忠诚度和自豪感。

企业的文化

每个企业都有自己的文化,其实差别还是蛮大的,然而令人奇怪的是,正如高中学校的校训多包涵团结,勤奋,诚实等词一样,每个企业声称自己的文化也基本包括以下的词汇:激情,挑战,平等,开放/公开,卓越,责任,结果,创新,诚实,尊重,团队,客户。

虽然不同的企业可以用同样的词汇,然而他们的文化却可以大相径庭。

其实每次的入职演讲中提及企业文化,仅仅是此文化传播的第一步,却远远不够。企业文化不是知识,不是告诉你就完成了交接的,正如不是你学会了东北话,就成了东北人一样。文化需要载体,既包括死的制度,更重要的是活的人,会在员工的不断入职和离职中发生微妙的变化。文化需要传承,需要在人与人的相互作用中发扬,如果一个企业最初只有100个人,作为文化A的载体,每过1年来10个人,作为文化B的载体,这10个人足够在一年内被熏陶成文化A,再过20年,当企业变成300人的时候,仍然差不多秉承文化A,然而如果第二年一次来了200个人,作为文化B的载体,则20年后,企业可能就更接近于文化B。文化是可以推动的,如上面的例子,如果企业想一直贯彻文化A,则需要小心的干预,同过正向激励和反向激励来推动文化A。文化不是一元的,文化下面多少会有亚文化,这就是为什么同样的公司有的Team很活泼,有的Team很沉闷。

良好的福利

公司的福利是会提及的,或以大幅的图片展示,或以精彩的视频放映,甚至会带你到现场去看,无论哪种方式,都会使你激动不已。

其实不过吃喝玩乐四大项,所谓吃,或是小吃,或是自助;所谓喝,无非饮料,咖啡,茶,酸奶;所谓玩,即各种各样的室内设施和五花八门的社团活动;所谓乐,则要提到每年的旅游,年会。总之slides上的每个人都是充满的快乐的笑容,预示着你将来美好的生活。

这些活动永远应该是你在公司活动的一小部分(否则你就大错特错了,买椟还珠,捡了芝麻,丢了西瓜),而这些福利真的对你的职业生涯一点都不重要。

学长的自白

当然仅老大一人的独白不足以有说服力,员工们多比较相信和他们年岁,经历差不多的人的话。

所以有时候,会请你的学长现身说法,描绘他在公司里的美好生活和光明前程。

人在屋檐下,不得不低头,屁股决定脑袋,人站的位置决定了他说的话,当老大还站在旁边以期待的眼神看着学长在新员工面前侃侃而谈的时候,学长说的话除了在老大的描述上锦上添花,也别无选择了。所以你尽可将学长的话打五折去听,如果想进一步了解,请留联系方式,你们可以私下交流,这样就可以打八折听了。人生其实就像一场杀人游戏,唯一大概可以相信的就是被杀后的跳警,如果想了解最真实的情况,私下去问离了职的学长,再和在职的学长的描述融合一下,就基本可以描述客观的情况了。

快乐的互动

入职培训还常有的一项就是新员工之间的互动,让你早日得融入集体,感受主人翁的精神。

在被设计好的游戏中好好和大家交流,交交朋友吧,一般同一批进来的人比较容易建立更深的感情,而且当后来你们被分到不同的组里后,就很难有这种机会相互交流了,这毕竟是你在此企业中积累人脉,增加影响力的第一步,朋友将是职业生涯中最宝贵的财富。想想谁能够在一家企业待很久呢?可曾听说过跳槽的时候:一等人才找朋友,二等人才找猎头,三等人才网上搜。

先写到这里吧,下一篇写啥还没想好。

分类: IT外企那点儿事

绿色通道: 好文要顶 关注我 收藏该文与我联系

觉先 关注 - 3 粉丝 - 560

荣誉:推荐博客 +加关注

17

0 (请您对文章做出评价)

« 上一篇:IT外企那点儿事(3):奇怪的面试 » 下一篇:Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser(1) posted on 2010-05-05 02:35 觉先 阅读(9573) 评论(39) 编辑 收藏

评论

/#1楼 2010-05-05 08:19 李胜攀

不得不说,你知道的太多了……

支持(0)反对(0) http://pic.cnitblog.com/face/26980/20130411124002.png

/#2楼 2010-05-05 08:30 小城故事

楼主在什么公司啊

支持(0)反对(0) http://pic.cnitblog.com/face/u73809.bmp

/#3楼 2010-05-05 08:32 卡通一下

楼主,您能对企业文化给出一个简单的定义吗?

支持(0)反对(0)

/#4楼 2010-05-05 08:42 高天乐

楼主小心外企追杀令。

支持(0)反对(0)

/#5楼 2010-05-05 09:12 恶魔的信仰

的确 很有感触

支持(0)反对(0)

/#6楼 2010-05-05 09:21 chenkai

很写实. 外资的光环往往给刚入这个圈子职场的人 很多迷惑的地方. 达成一件事 需要必要的手段和方法 .虽然话说的难听点 这点这些企业的做的还是不错的.

支持(0)反对(0) http://pic.cnitblog.com/face/u43680.jpg

/#7楼 2010-05-05 09:32 sT.LuLu

@李胜攀 小心了

支持(0)反对(0) http://pic.cnitblog.com/face/u124964.jpg

/#8楼 2010-05-05 09:34 你听海是不是在笑

哈,挺好的,挺好的

支持(0)反对(0) http://pic.cnitblog.com/face/u6998.png?id=09133001

/#9楼[楼主] 2010-05-05 09:45 觉先

@高天乐 谢谢啊,以后会写的和谐一些

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#10楼 2010-05-05 09:48 杨义金

好文,不顶不行!

支持(0)反对(0)

/#11楼[楼主] 2010-05-05 09:50 觉先

@卡通一下 对企业文化的定义这太难了,很多管理学大牛都在研究这个却不能给出准确的定义。我也只能写一写自己的所感罢了。谢谢关注。

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#12楼 2010-05-05 09:55 OctoberOne

写的挺好。好文章。

支持(0)反对(0)

/#13楼 2010-05-05 09:59 卡通一下

引用觉先: @卡通一下 对企业文化的定义这太难了,很多管理学大牛都在研究这个却不能给出准确的定义。我也只能写一写自己的所感罢了。谢谢关注。 这是也太难为楼主了,呵呵! 我个人觉得,自从地球上有企业起,就产生了各自的企业文化,只不过那时不提这种说法。 个人认为,企业内大家所认可的“思维方式和行事作风”,就能很好地体现出这个企业自己的企业文化。

支持(0)反对(0)

/#14楼 2010-05-05 10:04 王克伟

楼主讲滴很好啊

支持(0)反对(0)

/#15楼 2010-05-05 10:19 steven hu

好文,学习一下

支持(0)反对(0) http://pic.cnitblog.com/face/u34974.jpg

/#16楼 2010-05-05 11:29 心太

楼主知道的很多啊,很有同感

支持(0)反对(0)

/#17楼 2010-05-05 11:40 Aaron_Aanubis

分析之透彻,叹为观止!佩服,佩服。遥想当年的自己也是一个懵懂无知的少年!

支持(0)反对(0)

/#18楼 2010-05-05 11:59 ☆用心生活☆

OH,MY GOD,好佩服文章的说服力...

支持(0)反对(0) http://pic.cnitblog.com/face/u26389.jpg

/#19楼 2010-05-05 13:08 置身珠海,学习与奋斗

... 花招被你说完了

支持(0)反对(0)

/#20楼 2010-05-05 13:11 施杨

好文章。有帮助

支持(0)反对(0) http://pic.cnitblog.com/face/u34037.jpg

/#21楼 2010-05-05 13:25 window5549-accp

有点那么回事

支持(0)反对(0) http://pic.cnitblog.com/face/u33149.bmp?id=27132141

/#22楼 2010-05-05 13:26 Bob Liu

分析的好详细阿 想跳槽的人可以借鉴了

支持(0)反对(0) http://pic.cnitblog.com/face/u126058.jpg

/#23楼 2010-05-05 13:32 clound

@卡通一下 你说的很对。 我觉得下定义其实不是求解问题的最好方式。 可能是我们的教育培养了我们这种思维模式。

支持(0)反对(0)

/#24楼 2010-05-05 14:44 兔兔子

你知道的太多了!

支持(0)反对(0) http://pic.cnitblog.com/face/u121822.jpg?id=08205343

/#25楼 2010-05-05 14:53 duyue123

(/^__^/) 嘻嘻……,我还是学生呢? 感觉离外企还很远呢!!!

支持(0)反对(0)

/#26楼 2010-05-05 15:14 lonely_rain

我是三等人才。 下一篇,我帮你定主题吧,就你最后说的一等人才,二等人才,三等人才,为什么会这样分? 怎么样?

支持(0)反对(0) http://pic.cnitblog.com/face/u105358.jpg?id=24155351

/#27楼 2010-05-05 15:39 撞破南墙

你给我打开一个窗口,让我在一个混技术的地方了解到了更多的技术之外的或许更重要的东西! 谢啦!

支持(0)反对(0) http://pic.cnitblog.com/face/u69696.jpg?id=16133304

/#28楼 2010-05-05 16:26 pxuan

关注

支持(0)反对(0)

/#29楼 2010-05-05 17:18 清枫13

这里有些话很有道理,领导在使用的时候,我们还不知道怎么回事呢,只知道傻乎乎的听着。。。

支持(0)反对(0)

/#30楼 2010-05-05 17:22 八一精神

虽然你这样讲,还是想进外企。英语学习中~

支持(0)反对(0) http://pic.cnitblog.com/face/u30823.jpg

/#31楼[楼主] 2010-05-05 18:10 觉先

@lonely_rain 所谓一等人才找朋友,二等人才找猎头,三等人才网上搜。也不是把人分成三六九等的意思,而是随着年龄的增长,经验的增长,跳槽的不同境界。 刚毕业,薪水不高,人脉不广,只能够从网上搜索职位投简历。 等后来,薪水增加,技术积累,便成为了猎头的主要对象。 再后来,积累了大量的人脉,如果其他公司有好的职位,兄弟推荐一下就过去了,轮不到猎头来推荐了。

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#32楼 2010-05-05 19:48 天蓝-

一等人才找朋友,二等人才找猎头,三等人才网上搜。

支持(0)反对(0)

/#33楼 2010-05-05 22:27 深山老林

企业文化就是老板不在的时候员工的态度跟反应。

支持(0)反对(0) http://pic.cnitblog.com/face/u29614.jpg

/#34楼 2010-05-05 23:27 小伍

关注。

支持(0)反对(0)

/#35楼 2010-05-06 01:53 傻样精英

楼主可以出书了,我肯定买

支持(0)反对(0) http://pic.cnitblog.com/face/u33205.jpg

/#36楼 2010-05-07 22:27 神舟龙

分析的透彻

支持(0)反对(0) http://pic.cnitblog.com/face/u127258.jpg?id=04135830

/#37楼 2010-05-08 15:20 lonely_rain

@觉先 明白你什么意思了,呵呵,还是中国的人情在作怪。楼主对中国的IT行业现状分析的很透彻。。。。。呵呵

支持(0)反对(0) http://pic.cnitblog.com/face/u105358.jpg?id=24155351

/#38楼 2010-08-18 23:00 Zero Huang

LZ的知识真是渊博

支持(0)反对(0)

/#39楼19114142010/9/8 12:20:56 2010-09-08 12:20 dzghttp

相当的有才,实力派IT人士。

支持(0)反对(0)

刷新评论刷新页面返回顶部

注册用户登录后才能发表评论,请 登录注册访问网站首页。 博客园首页博问新闻闪存程序员招聘知识库

最新IT新闻: · 新硬硬整合时代 · 狗血的百度91并购案啊 阿里和周鸿祎都曾掺和 · 如何让搜索引擎抓取AJAX内容? · 避免代码注释的五大理由 · OpenWrt——适用于路由器的Linux系统 » 更多新闻...

最新知识库文章: · 阿里巴巴集团去IOE运动的思考与总结 · 硅谷归来7点分享:创业者,做你自己 · 我为什么不能坚持? · 成为高效程序员的7个重要习惯 · 谈谈对BPM的理解 » 更多知识库文章... Powered by: 博客园 Copyright © 觉先

IT外企那点儿事(6):管理路线和技术路线

Posted on

IT外企那点儿事(6):管理路线和技术路线

觉先

博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 :: 130 随笔 :: 0 文章 :: 544 评论 :: 0 引用 <2010年5月>日一二三四五六2526272829301234567891011121314151617181920212223242526272829303112345

公告

昵称:觉先 园龄:3年7个月 荣誉:推荐博客 粉丝:560 关注:3

+加关注

搜索

常用链接

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

推荐排行榜

IT外企那点儿事(6):管理路线和技术路线

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小时,也有大批程序员欣然而往。也就可以理解各个公司的老总总是不定时的出现在电视上,不断重复着自己成功的故事。

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

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

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

分类: IT外企那点儿事

绿色通道: 好文要顶 关注我 收藏该文与我联系

觉先 关注 - 3 粉丝 - 560

荣誉:推荐博客 +加关注

27

0 (请您对文章做出评价)

« 上一篇:IT外企那点儿事(5):像系统一样升级 » 下一篇:linux Kill多个进程 posted on 2010-05-13 01:51 觉先 阅读(8195) 评论(37) 编辑 收藏

评论

/#1楼 2010-05-13 06:22 我写的不是代码 是寂寞

"做一个程序员,一要钻下去,积累技术,二要跳出来,影响世界" 说的好。 窃以为,做一个程序员,就应该追求这样的境界,哈哈~

支持(0)反对(0) http://pic.cnitblog.com/face/u82735.jpg

/#2楼 2010-05-13 08:31 高天乐

楼主文采真好,说了很多实际有用的话。

支持(0)反对(0)

/#3楼 2010-05-13 08:44 兔兔子

在我国,只做技术的是没有什么前途!

支持(0)反对(0) http://pic.cnitblog.com/face/u121822.jpg?id=08205343

/#4楼 2010-05-13 09:08 Showdren

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

支持(0)反对(0) http://pic.cnitblog.com/face/u25855.jpg

/#5楼 2010-05-13 09:18 Coki

写的太对了!一直跟着看果然是正确的! 顺便问一个小问题,我感觉是有道理的,请高人解析: 技术,特别是软件开发技术,整体的发展好像是一个不断的堆积木的过程,某个时期的上层技术经过一段时间的发展就极有可能慢慢沉淀下去变成下层技术了。 从纵向来看,比如C之于汇编,刚开始C是上层技术,当有比C更上层的技术出现之后,比如C++之类,C语言就渐渐成为了下层技术,而出现JAVA、.Net这类技术之后,C++又渐渐的下沉了。 从横向来看,原本的算法累积起来变成模块,模块组织起来变成组件,组件合并之后变成框架,基于框架之上开发出应用程序,而之后这些程序加入更庞大的项目又会变成基础结构。随着软件业的发展,更大更复杂的软件系统越来越多,这个趋势就越明显。 那么,会不会有一天,会产生基于.NET之上的更智能更简洁的技术?比如第四代语言?更加智能的语言?这些技术会用来解决更复杂的问题?其实随着.NET体系的不断发展,这个也越来越明显了,WPF\SilverLight\linq\AEF等等这些随着.NET发展逐渐添加进来的东西越来越趋向于把.NET原先浮在表面上的技术压下去。 究竟符合什么特征的技术会被时代挑选出来,进而保留成下一个时代的底层技术呢?其实人类的整体发展也是在不断地积累,被验证正确的可用的东西会慢慢沉降下去,前一代人研究一生的发现,在当今的教科书上可能也就一笔带过了,扯得更远一点,会不会有哪一天,人类发现自己已经无力控制庞大的知识了,以至于只能在前人的基础上继续创造,而如果哪一天前人留下的东西损坏了,人类的文明就会失去根基,彻底崩塌呢? 呵呵……年轻人的胡思乱想,还望智者不要见笑啦!~

支持(0)反对(0)

/#6楼 2010-05-13 09:25 Tony Zhou

那一开始不做程序员做销售不就好了么。。。

支持(0)反对(0) http://pic.cnitblog.com/face/u24912.png

/#7楼 2010-05-13 09:37 个人知识管理

一只烤鸭卖5块钱,慢慢的我们有经验了,能烤出好吃的烤鸭了,也就能够卖10块钱,再加上好吃的调料,良好的环境,最多也就一只20元,到头了。而全聚德的烤鸭198元一只 ==和技术无关,和资本有关; 资本会改变你的客户定位

支持(0)反对(0)

/#8楼[楼主] 2010-05-13 10:05 觉先

@Tony Zhou 谢谢您的关注。 本文章是对从事软件工程师的困惑的思考而已,我还是爱软件业的,而不是爱销售业啊。 而且千万不要非此即彼的二元思维啊,我觉得程序员思想要开阔,要包容一些,而不要自我清高啊。

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#9楼[楼主] 2010-05-13 10:07 觉先

@Coki 很有见地啊。 这方面还真的没有仔细考虑过。

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#10楼 2010-05-13 10:19 Jerry Qian

哈哈顶顶。

支持(0)反对(0)

/#11楼 2010-05-13 10:36 你听海是不是在笑

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

支持(0)反对(0) http://pic.cnitblog.com/face/u6998.png?id=09133001

/#12楼 2010-05-13 10:54 oyster.oy

不错~

支持(0)反对(0) http://pic.cnitblog.com/face/u115643.png

/#13楼 2010-05-13 10:56 禅酷

我说技术就要做底层的,管理要做高层的,永远不过时。

支持(0)反对(0) http://pic.cnitblog.com/face/u36146.jpg

/#14楼 2010-05-13 11:01 赵文星

楼主这个系列真的很不错,给人的启示很深啊。

支持(0)反对(0)

/#15楼 2010-05-13 11:54 T.M

受教了,顶

支持(0)反对(0)

/#16楼 2010-05-13 12:13 悟道2010

推荐,收藏.话说.没见过198一只的鸭子.也没见过10几20几块一个的包子.想像不出来是啥样子.持续关注此系列. 另外邀请.net大牛加入本人qq群868500

支持(0)反对(0)

/#17楼 2010-05-13 12:17 Damon.Tian

国内程序员都在求生存,国外程序员都在求发展。人力成本的差别注定我们大部分都会是一个杯具。

支持(0)反对(0) http://pic.cnitblog.com/face/u82873.png?id=10094316

/#18楼 2010-05-13 12:34 李胜攀

说的真好!

支持(0)反对(0) http://pic.cnitblog.com/face/26980/20130411124002.png

/#19楼 2010-05-13 15:19 施杨

好文章,喜欢最后一句

支持(0)反对(0) http://pic.cnitblog.com/face/u34037.jpg

/#20楼 2010-05-13 15:39 AllenLee

我一直埋头研究技术,看来需要重新规划下了

支持(0)反对(0)

/#21楼 2010-05-13 15:47 Aaron_Aanubis

师者,所以传道受业解惑也。真该尊称您声:“老师”!

支持(0)反对(0)

/#22楼[楼主] 2010-05-13 16:01 觉先

@Aaron_Aanubis 不敢不敢,一些感悟而已,与大家分享,可能有不对的地方,关键还是自己把握自己的人生啊。

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#23楼 2010-05-13 16:03 duncannjm

楼主好文笔,不仅仅是个技术的,看来博客园还是人才济济啊。

支持(0)反对(0) http://pic.cnitblog.com/face/u38570.jpg?id=12171922

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

/// @ 史建敏 /*/ 每天一回,最热帖子

支持(0)反对(0)

/#25楼 2010-05-13 18:19 波哥2010

每天专研一点点,只要你坚持就必定成功,但是人呀!惰性!所以你要仔细看好自己的方向!

支持(0)反对(0)

/#26楼 2010-05-13 20:19 aiaitiantian

情商和智商都要发展,齐头并进。每天坐在电脑前确实会散发出一种呆气,不愿意跟人交流了。

支持(0)反对(0)

/#27楼 2010-05-13 21:44 .COM 缺氧

长见识了。

支持(0)反对(0) http://pic.cnitblog.com/face/u97502.jpg

/#28楼 2010-05-13 22:52 gracestoney

写的很不错,支持下~~ 技术和管理完全是不同的方向啊,如果转管理,其实也要学很多很多东西,管理是一门艺术,要想得道也要持之以恒啦。

支持(0)反对(0)

/#29楼 2010-05-14 09:23 liu_xf

写到我心坎上去了 楼主我转载了,时不时的看一下,鞭策自已

支持(0)反对(0) http://pic.cnitblog.com/face/u46640.jpg

/#30楼 2010-05-14 09:48 潇湘隐者

深受启发

支持(0)反对(0) http://pic.cnitblog.com/face/u73542.jpg

/#31楼 2010-05-14 09:52 柳东

我徘徊在技术与销售之间.......还没找工作

支持(0)反对(0)

/#32楼 2010-05-14 10:59 开心每一天ㄨ

@柳东 静待兄弟去向

支持(0)反对(0) http://pic.cnitblog.com/face/u25669.jpg

/#33楼 2010-05-14 16:58 sunnyysb

哈哈,顶顶

支持(0)反对(0)

/#34楼 2010-05-22 21:40 fyljf

博主的例子总是举得很到位

支持(0)反对(0)

/#35楼 2010-09-20 13:21 hans.hu

关于积累的例子,说得太到位了. 我认为技术上的积累无非就是这两类比较有前景:1,底层核心的部分(如Linux Kernel);2,高门槛、更新慢(如SAP)。

支持(0)反对(0)

/#36楼 2011-07-25 23:28 YYCY

谢谢楼主,说的太好了

支持(0)反对(0)

/#37楼25368142012/11/16 12:39:49 2012-11-16 12:39 冲锋撞大树

真心受教了。。。先钻下去,就是为了跳出来的那天,厚聚薄发!

支持(0)反对(0) http://pic.cnitblog.com/face/377438/20130316092316.png

刷新评论刷新页面返回顶部

注册用户登录后才能发表评论,请 登录注册访问网站首页。 博客园首页博问新闻闪存程序员招聘知识库

最新IT新闻: · 新硬硬整合时代 · 狗血的百度91并购案啊 阿里和周鸿祎都曾掺和 · 如何让搜索引擎抓取AJAX内容? · 避免代码注释的五大理由 · OpenWrt——适用于路由器的Linux系统 » 更多新闻...

最新知识库文章: · 阿里巴巴集团去IOE运动的思考与总结 · 硅谷归来7点分享:创业者,做你自己 · 我为什么不能坚持? · 成为高效程序员的7个重要习惯 · 谈谈对BPM的理解 » 更多知识库文章... Powered by: 博客园 Copyright © 觉先

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

Posted on

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

觉先

博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 :: 130 随笔 :: 0 文章 :: 544 评论 :: 0 引用 <2010年5月>日一二三四五六2526272829301234567891011121314151617181920212223242526272829303112345

公告

昵称:觉先 园龄:3年7个月 荣誉:推荐博客 粉丝:560 关注:3

+加关注

搜索

常用链接

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

推荐排行榜

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

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

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

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

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

进行完入职培训,便开启了你在外企中的程序人生了,需要说明的是,此文章不仅限外企。

如果待足够长的时间,你将从程序员,高级程序员,team lead,一直到manager,甚至director。

我们姑且宏观审视一下此过程,然后再品味一个个细节。

然而审视的过程猛然发现,所谓程序员就是把自己作为程序的人。

《道德经》第四十二章:道生一,一生二,二生三,三生万物。

此句大概说明的是宇宙万物发展变化的过程,而道则为宇宙万物运行的规律。

万事万物都有自身的规律,万有引力是规律,相对论是规律,而天天陪伴在我们程序员身边的算法,操作系统,计算机组成等,也可以看成大自然众多规律中的一小部分,也只有掌握好这些规律,我们才能掌控好计算机的运行。

系统的开发,程序员的升级又何尝不是经历了这样一个过程呢?

一、认识规律:道

做一个系统,首先要掌握此项目所需要的技术,如果相关技术没有使用过,则此项技术就是一门尚未认知的规律。在项目开始之前,必须要系统性的认知相关的技术,否则面临较大的风险。

做一个程序员,首先要掌握计算机方面的知识,对知识的掌握,同样需要系统性,否则职业生涯也会面临很大的困难。

系统性在此阶段至关重要。

如果在项目中,对相关的技术没有系统性的认识,则会造成以下后果:

  • 设计出的系统不具有扩展性
  • 应用了笨拙的方式设计程序
  • 出现Bug时无所适从

不知道大家是否参加过这样的项目开发过程,由于时间紧任务重,项目组在没有一个人系统了解某项技术的时候就进行了开发,大家只好从网上下载一些Sample code来通过复制粘贴来拼凑程序,甚至连每一项配置或每一行代码都没搞清楚,就照猫画虎的拿过来用了,这样不但到了后期,系统几乎没有任何扩展性,并且任何不同于Sample code的灵活的改动都是一件十分痛苦的事情,项目组就像眉头苍蝇一样四处乱改乱闯,但并不清楚每一次改动的真正后果,这样要进行大量的尝试和返工,最后整的整个项目组很累,还没有效果,这个过程我称之为“盲试”,也即在不明白原理的情况下靠反复的体力劳动,逐一遍历所有自己认为可能的修改。

“盲试”是初入职场的程序员经常犯的错误,初入职场,信心百倍,情绪高涨,急于出成果是多数时候的心态,当一个任务下达到手中的时候,并不是系统的阅读文档,进行方案评估以及框架设计(这些其实都是磨刀不误砍柴工的事情),而是急着上手来做,可能在项目的早期,能够很快的出效果,但是随着项目的进行,维护成本越来越大,经常加班,而效果甚微。而对有经验的程序员来讲,前期进行了良好的设计,后期添加模块,需求的灵活变动是相对轻松的事情。

其实也可以理解这种状况的出现,毕竟老板都是心狠手辣的,才不会给你那么多事件做调研,程序员总是有一种被皮鞭赶着走的感觉,从而根本无法系统性的掌握技术和框架设计。这也是面试了很多程序员,每每都号称做过A,B,C项目,分别应用了a,b,c的技术,然而往深入问的时候发现,他们对技术a,b,c的了解也就仅限于A,B,C项目中,对其他一无所知了。

没有系统性的认识技术,则可能写出很多笨拙的程序,丑陋的实现。因为你只知其一,不知其二,只知其然,不知其所以然,本来人家框架中有高效的现成的技术实现这一方面的功能,你不知道,于是根据自己了解的片面技术勉强拼凑成功能,自然也实现了效果,然而当自己开始看这方面的经典书籍的时候,不禁感慨:“咳,原来能够很简单搞定的,当时竟然笨笨的写N多的代码。”

没有系统性的认识技术,出现Bug的时候比添加新模块更痛苦,因为不明白原理,所以只能从表面现象去猜,然后又是进行“盲试”的过程。

因而对技术的系统性认识,实在是不但对项目负责,更是对自己负责的一件事情。如果老板是技术型的,在估计项目时间的时候,应该劝说其将这方面考虑进去,如果老板是非技术型的,则程序员也应该自己留下缓冲时间。不然你辛辛苦苦白天八小时给老板了,晚上再加班几个小时又给老板了,你自己如何进步呢?

如果对于程序员,对计算机方面的技术没有系统性的认识,同样存在上述的问题。

你的职业生涯同样没有扩展性。如果不能够系统的掌握算法,数据结构,操作系统,计算机网络,计算机组成等基础知识,在程序员的初期可能不明显,随便培训培训也能写出不错的程序,然而当转换方向或者平台的时候,会面临很大的痛苦。而我们能够看到的身边的优秀程序员们,无论让他们做C,C++还是Java,无论是linux还是windows,他们都能够很快的上手,是因为基础好的缘故。

项目和程序员认识规律的方式,其实也无非读书,文档,及原型开发(对于程序员来说,实习阶段相当于Prototyping)。

总结:项目或程序员的第一阶段:悟道,关键词:“系统性”

#

二、道生一

当掌握了项目相关的道,也即技术的时候,就要真正的进入项目开发了。

当前的项目,仍然由一个进程组成的系统比较少了,由于数据量的增大,基本都会开发多节点的分布式系统,然而再复杂的系统,也基本是从单节点系统开始做的,也即所谓道生一的过程。

当掌握了计算机相关技术的时候,你就可以成为一个真正的程序员了。当然不可能让你一开始就管理一个项目组,此时唯一要管理好的,是你自己。

开放性和扎实性是此阶段的重中之重。

对于项目来讲,一个好的单节点系统,所谓开放,就是即便设计单节点的系统,也要站在设计多节点的系统的角度来考虑,使做出来的系统更加容易被扩展成多节点的系统。所谓扎实,就是单节点系统要麻雀虽小,五脏俱全,扎扎实实的实现大部分功能,并有相当量的测试用例来保证功能的正确。

否则会造成以下后果:

  • 当做多节点系统时候,发现单节点系统需要大量修改,甚至等于白做,重新开始。
  • 单节点不稳定,以至于多节点时Bug丛生,但不知道是因为错误出在多节点实现部分,还是单节点部分,较难定位。
  • 没有足够的测试用例,当为了多节点进行修改的时候,不能保证的功能实现仍然行为正确。

假设做一个100个节点的项目,要100天时间的话,并非每个节点要1天的时间,而是第一个节点就需要30天的时间,当第一个节点做好之后,扩展后面是很自然的事情,然而如果第一个节点做不好,每天都做一个节点,每天都把昨天做的设计推翻然后重做,怕是100天也完不成100个节点。这个例子比较极端,然而在我们周围没有发生过吗?

对于程序员来讲,做一个好的螺丝钉,同样需要开放和扎实。

所谓开放,就是我们虽然仅仅是最最低级的员工,可能整个系统的架构根本轮不到我们,但是这并不表明我们只盯着自己的一亩三分地,完成功能了事,而是要经常站在整个项目的角度考虑问题。不想当将军的士兵不是好士兵,建议做一下几件事情:

  • 在项目的各种会议上,经常站在项目经理和架构师的角度考虑问题,要是自己会如何设计,前辈们为何这样设计,然后多问前辈问题。虽然最初的想法比较幼稚,但可以不说出来,但是长时间这样思考,会发现自己的设计水平会突飞猛进的,慢慢的,你会发现你能够在会议中给出一些建议,然后你会发现能够发现前辈设计中的一些缺陷,然后你会发现你能够对当前的设计提供恰当的改进方案,终于有一天你发现你不再是一个单节点的普通程序员了。
  • 除了完成自己的功能外,多看一看前辈们实现过的代码,用自己的方式手绘一些他们的架构图,记下不太明白的部分及觉得很优秀可以借鉴的部分。
  • 尝试在自己的模块中(可能最初是很小很小的模块)尝试使用学到架构。
  • 可以重读或新读一些经典书籍,争取能够用业界内公认的理论来解释自己接触到的设计及架构,使得从感性认识上升到理性认识。比如原来前辈们写这些类,用的是这种设计模式,它还有以下的优点和缺点,适合设计怎么样的系统。这样不但有利于我们在以后的项目中恰当的使用已掌握的设计,而且也有利于向他人准确的描述项目。试想在面试中,一个专业术语要比杂七杂八的列一大筐类更显水平吧。
  • 可以在餐桌上,向自己的同学,朋友描述一下学到的架构,让你的朋友往细节里问,不确定的回去再下功夫,争取做到虽然你只是项目中的一个螺丝钉,但是好像你从头到尾设计了这个系统一样。

这里要提醒一下大家,并不是所有的上司都喜欢要当将军的士兵和老问问题的员工,适当把握火候吧。

所谓扎实,就是指对接触到的知识,都应该根据实践,结合理论,由点到面的掌握。在这个阶段,信息量是很大,要学的东西很多,往往对各种技术都接触一下,又对各种技术都浅尝辄止,最后形成样样通,样样松的局面,阻碍了自己的发展。面试的时候也经常发现一些应试者,掌握的东西仅仅局限于他做过的那个点上,相关知识的掌握非常弱,这自然会影响他从一个单节点程序员向多节点发展。因而每当在项目中接触到一方面的东西,除了上班完成项目外,下班后多看一些有关此方面的书,博客等,使得从知识点变成知识面,知其然,还要知其所以然,并了解存在的问题。当白天在MFC中拖完控件后,总应该读一些《深入浅出MFC》来了解其机制,读一下《windows核心编程》了解一下windows API及一些原理,最好读一下《windows internals》了解一下原理背后的故事,不然面试的时候如何向别人开口做过windows下的程序设计呢?总不能够创建过socket对象就声称会socket编程吧,至少看一下《UNIX Network Programming》。用过NFS怎么不把linux的filesystem的机制了解一下呢?

当然这样是很累很费时间的,然而刚毕业的我们,没有经验,没有人脉,没有资金,有的不就是时间吗?

珍惜刚毕业的这几年多多打实一下基础,等年纪大了,精力没这么旺盛了,很多事情要照顾了,还要靠这时候的老本啊。

总结:项目或程序员的第二阶段:道生一,关键词:“开放性”“扎实性”

三、一生二

对于项目来讲,当单节点系统足够稳定的时候,是应该向client/server或者master/slave结果扩展的时候了,也即一生二的过程。

对于程序员来讲,当你已经足够胜任个人工作的时候,是可以带一个实习生或者初级程序员了。

此步的关键即"communication",沟通。

对于系统来讲,主要考虑的应该是节点之间如何通信,如何协作,采取何种协议。

  • 通信可以是面向连接的,也可以是不面向连接的。可以是同步的,也可以是异步的。
  • 通信是分层次的,不同的情况应用不同层次的协议,heartbeat用何种协议,内部数据块传输用何种协议,发布成service向外提供服务用何种协议,都是应该考虑的。
  • 数据的内部结构就想接口一样是要通过沟通商定的,便于解析又易于扩展,rpc? serialized object? xml? json? protocol buffer? 还是自己定义的格式?
  • 对于要经常访问的客户端,连接池是必须的,每次建立连接是很耗时的
  • 服务器端应该有对连接总数的限制,以及请求的分发,拥塞控制(并不一定是网络拥塞,而是某个阶段的处理相对较慢)
  • 通信模块在项目中不应该是任何两个需要通信的模块都要开发的,而是应该作为基础性模块,经过大量的测试后达到稳定,使得需要应用通信模块的人员能够集中精力在本身的逻辑上,当模块间协作出现故障的时候,不用担心是通信模块传错了的问题。

对于程序员来讲,同样要考虑和实习生或初级程序员之间的通信协议问题。

有的代码自己觉得写的很清楚,但是让新手上手的时候,如何能够准确的描述你的思路,想法,设计,遇到的困难呢?如何根据对方的反馈确认对方真实了解了你所表达的信息呢?有很多有经验的程序员,由于天天面对着电脑而疏于和人的沟通,可能会一肚子能耐却说不出来,非常可惜;而对于新人,他的回馈是懂了可并不一定代表他真的懂了,也可能是不懂又不敢说。

  • 重要的问题的沟通应该是同步的,也即面对面沟通,这样除了语言上的反馈,还能通过表情得到一定的反馈。任何问题都要事先划分为若干阶段,最好脑子中有张拓扑图,后一阶段的理解会依赖于前一阶段的理解,一股脑把所有的信息放在对方面前,任何人都会晕。每经历一个阶段,都要收集一次反馈,作为信息的发送方,可以通过事先准备一些关键点的问题来检测对方是否真正了解,作为接收方,可以通过"你的意思是说。。。"等以自己的方式重复对方的表达来进行反馈。
  • 注意拥塞控制,每一次的讨论争取一个小时内完成,再长效果会下降,接受者感觉信息被塞了满满一脑子,没有头绪,难有清晰的思路了。
  • 每次沟通都应该至少有会议记录和部分结论,不然讨论等于白讨论,否则会发生团队经常开会,但是总在讨论同样一些问题,感觉上好像每次都在头脑风暴,其实效率很差。
  • 对于重要的结论应该是面向连接的,也即书面(邮件,文档,wiki)告知,并有书面回复(ok, I am following the bug XXX)。
  • 可以建立一些连接池,也即沟通的特定上下文。经过一定时间的团队磨合,可以下意识的创造或达成共识的一些词汇来代替一定的上下文,可以提高沟通效率。比如"明天甲系统出report",则程序员明白要有单元测试覆盖率报告,QA明白要有当前bug的报告,性能测试组应该有甲系统性能测试报告。
  • 沟通也是分层次的,最容易犯的错误的无论针对谁,写的文档,发的邮件都是一样的。其实针对不同层次的人,应该提供的信息不同,对于本团队人员,原理,架构,设计,测试,每步怎么做,结果如何,具体数据都应该说明,而对于其他团队的人员,具体的数据和每步怎么做就不需要了,对于项目经理,仅仅说明原理,架构,结论就可以了,对于高层来视察工作,原理加结果就行了。这也是为什么一篇文档有abstract, summary, overview, concepts, detail, appendix等等部分,其实是对不同的人员看的。

总结:项目或程序员的第三阶段:一生二,关键词:“沟通”

四、二生三

对于项目来讲,当Client/Server或者Master/Slave已经运行稳定,是应该开发一个Master多个Slave的时候了,即二生三的过程。

对于程序员来讲,当你能够很好的带一个实习生或者初级程序员的时候,是可以成为一个小的Team lead了。

此步的关键是load balance,平衡。

对于系统来讲,负载均衡最重要的是两个目的:

  • 高可靠性:当一个服务器crash的时候,不至于影响对外提供服务。
  • 高性能:多台服务器可以并行的做事情,提供服务,加快相应时间。

其实说到底,负载均衡采用的是Data partitioning(数据分块)或Data replication(数据复制)的方法。数据分块即按照某种策略,将某类请求全部指向某个服务器,比如说按照时间分块,例如邮件备份系统,可以将某个时间段的邮件全部放在一个服务器内,对这个时间段的查询全部指向此服务器;再比如按照地区分块,例如地图信息管理系统,将某个地区的数据全部放在一个服务器内。数据复制即将同样一部分数据复制多份,放在不同的服务器上,既保证高可靠性,又能将请求平均的分配给多个服务器,例如Google File system中将数据复制三份,大型网站的服务器也一般会将同一内容放在不同的服务器上。

对于程序员来讲,沟通同样重要,但是不再是局限于一对一的沟通了,不再是能把问题表达清楚就可以了,而是要在团队内部保持平衡。无论是工作压力,项目有趣程度,培训机会,成长机会都应该平衡。

也无非是两个目的:

  • 高可靠性:项目不会因为一个人的生病,休假,离职而影响项目的进度。
  • 高性能:整个团队的力量发挥出来,不至于一个人成为了瓶颈。

所采用的不过也是数据分块和数据复制的方式。

所谓数据分块,即不同的人负责不同的模块,比如一个负责前端,一个负责后端,或者一个负责开发,一个负责测试等,这能够带来高性能,因为每个人的专业化和经验会使得效率提高,但是同时带来的问题是高可靠性,如果转负责这个模块的人离开,换一个人将大大降低效率。工作压力也不能很好的平衡,往往一个系统的初期阶段,后端的开发十分忙,而前端相对较闲,而到了后期,前端开发非常忙,而后端已经稳定,因而较闲。况且,人不是机器,是有边际效应的,当负责一个模块时间一长,兴趣会大大降低,觉得没有成就感,成长也少了。因而数据复制的方式也是必要的,也即通过伙伴开发,Knowledge sharing,code review等方式,让不同模块的人之间相互了解对方的模块,从而带来高可靠性,也即一个人不在,其他的人可以较快的跟上,也可以在一个模块压力大的时候,其他人帮忙做一些辅助的东西,比如各种tool,测试用例,性能测试,甚至改一些优先级较低的bug,不仅平衡了工作压力,而且接触新的模块会使得员工有较大成长,也是工作更加有趣。

总结:项目或程序员的第四阶段:二生三,关键词:“平衡”

五、三生万物

如果道生一,一生二,二生三是质变的过程,则三生万物是量变的过程。

对于计算机系统来讲,如果一个master能够很好的平衡两三个slave,则可以很好的扩展到十个甚至百个,千个。但是原理是理想的,现实却是,当master管理的slave的数量达到一定的数目的时候,master就是一个瓶颈,master的高性能和高可靠性又成了问题,这时候可以用多个master进行数据复制从而负载平衡,也可以使得多个master每个管理一个group的slave,这时候就应该有master的master了,也即系统出现了分层。Hadoop的Multirack cluster就是这样的一棵树。

对于团队的管理也是同样的,每个人的直接管理精力在10个人左右,多于这些人,往往会有很多疏漏的地方,或者疲惫不堪,因而,当一个团队成长的一定的程度的时候,也是需要分层的。当团队增长的15至20人的时候,应该考虑从现有的人员中选出master,也即team lead或者至少是coordinator,使得组织也成为了一棵树装。

总结:项目或程序人生的第五阶段:三生万物,关键词:“分层”

分类: IT外企那点儿事

绿色通道: 好文要顶 关注我 收藏该文与我联系

觉先 关注 - 3 粉丝 - 560

荣誉:推荐博客 +加关注

18

0 (请您对文章做出评价)

« 上一篇:Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser(2) » 下一篇:IT外企那点儿事(6):管理路线和技术路线 posted on 2010-05-09 01:10 觉先 阅读(6603) 评论(28) 编辑 收藏

评论

/#1楼 2010-05-09 01:29 Jianqiang Bao

下一章是离职吧 :)

支持(0)反对(0) http://pic.cnitblog.com/face/u13430.jpg

/#2楼 2010-05-09 01:35 个人知识管理

太好了。我是一字一句看完后才写下。 要是这样的资料能让更多程序员看到就好了。好的资料还是很稀缺的。 但愿所有的人至少能看上三遍。反复阅读是最基本的个人知识管理的学习技巧。

支持(0)反对(0)

/#3楼 2010-05-09 09:21 Mainz

顶了~看完留名

支持(0)反对(0) http://pic.cnitblog.com/face/u28306.png?id=23214645

/#4楼 2010-05-09 11:01 李胜攀

太强了!

支持(0)反对(0) http://pic.cnitblog.com/face/26980/20130411124002.png

/#5楼 2010-05-09 11:29 o℃浪漫

一字一句,仔细斟酌过!谢谢总结!

支持(0)反对(0)

/#6楼 2010-05-09 12:04 Coki

和前四节文风和主旨好像有点脱节 文章主旨似乎是在以软件工程的思路类比人的职业规划,但大量篇幅都是在讲软件开发的一些心得和要点,和职业规划没什么联动,对相似性的归纳描述不足。 而且文章标题关键词是“升级”,按照这个文章系列的侧重,重点应该是个人自我能力的变化和升职的技巧,文章内容好像并没有什么关系。 个人感觉这篇文章单独拉出来做一篇探讨项目管理心得的文章更好。 仅本人一家之言,如有错误,还请谅解。

支持(0)反对(0)

/#7楼[楼主] 2010-05-09 17:30 觉先

@Coki 谢谢您的建议,会在以后的写作中注意。

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#8楼 2010-05-09 21:32 付晓强

好文章啊,很喜欢,如果转载了,不会说我什么吧。毕竟是好东西,开源一下吧。谢谢博主了。

支持(0)反对(0) http://pic.cnitblog.com/face/u131747.jpg

/#9楼[楼主] 2010-05-10 00:31 觉先

@付晓强 转载没问题,写明出处和链接就可以了。 谢谢您关注

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#10楼 2010-05-10 08:43 .COM 缺氧®

果断留名。

支持(0)反对(0) http://pic.cnitblog.com/face/u97502.jpg

/#11楼 2010-05-10 09:55 Jerry Qian

期待离职

支持(0)反对(0)

/#12楼 2010-05-10 14:32 别爱上哥,哥只是个传说!

为我2亿7千万人民币而奋斗.

支持(0)反对(0)

/#13楼 2010-05-10 17:21 老子不服

很有点哲学的味道

支持(0)反对(0) http://pic.cnitblog.com/face/u47315.jpg

/#14楼 2010-05-10 22:13 Leepy

写得不错,顶一顶!

支持(0)反对(0) http://pic.cnitblog.com/face/u18497.jpg

/#15楼 2010-05-11 12:57 chinese_submarine

不错,很受启发~

支持(0)反对(0) http://pic.cnitblog.com/face/u28698.png

/#16楼 2010-05-13 10:48 赵文星

好文章,是经验积累的结晶。

支持(0)反对(0)

/#17楼 2010-05-13 22:56 Likwo

好文。

支持(0)反对(0)

/#18楼 2010-05-14 00:54 Ken Wang

写得很好。

支持(0)反对(0)

/#19楼 2010-05-14 08:45 Gary Zhang

写得很细,这么走下来估计得个十五,二十年的时间吧。在这样浮躁的环境,急功近利的社会,不知道这样走过来的有多少人?

支持(0)反对(0)

/#20楼 2010-05-14 13:04 空逸云

LZ.很感谢你能这样分享自己的经验,作为一名即将毕业的学生.以前,我不明白为什么说一个程序员到了30左右逐渐就不行了呢?除了体力跟不上,原来主要还是时间.您让我知道了外企与国企(或者说民企)的区别.在这之前.一直想着该怎么学下去,原本以为.只要一直持之以恒,努力专研.net Framework就可以.花个4~5年时间做到熟知,善用的地步..现在明白.学习不是只学框架,而更该注重思想的学习.总之.很感谢您.或者说.最后这两篇文章都与外企没多大的关系.但是还是很喜欢看.看着其他的前辈做过的路.能让我对前方的路看得更加清晰.能未雨绸缪.THX.希望LZ能多写些有关于程序员成长方面的文章,更多的把自己的经历记录下来,好让我们这些后生多多学习.

支持(0)反对(0) http://pic.cnitblog.com/face/u88464.jpg?id=20154053

/#21楼[楼主] 2010-05-14 13:22 觉先

@空逸云 谢谢啊

支持(0)反对(0) http://pic.cnitblog.com/face/u103165.jpg

/#22楼 2010-05-17 13:23 东山飘雨,西关情

写的不错

支持(0)反对(0)

/#23楼 2010-05-22 17:00 Vincent Zhou

文章写的非常好,想问下楼主是在外企工作了多久才有这般体会的?

支持(0)反对(0)

/#24楼 2010-05-22 17:27 nbjkj

作为名刚入职场的程序员很高兴能拜读你的文章,很实用,理清了很多东西,谢谢!

支持(0)反对(0) http://pic.cnitblog.com/face/u102166.jpg

/#25楼 2010-05-29 22:28 CCNet

分享昰一種美德,留言亦是!

支持(0)反对(0)

/#26楼 2011-05-17 21:39 Alex木头

先佩服! 很喜欢你说得这句话:刚毕业的我们,没有经验,没有人脉,没有资金,有的不就是时间吗?珍惜刚毕业的这几年多多打实一下基础,等年纪大了,精力没这么旺盛了,很多事情要照顾了,还要靠这时候的老本啊。 说得多好啊!年轻的时候确实应该过努力下,想楼主学习。 谢谢您的分享精神。

支持(0)反对(0)

/#27楼 2011-10-23 23:46 牛_

作为一个即将毕业的我来说,这文章无疑是我的航标,谢谢LZ,我会学习贵文章中的宝贵经验,并且做出总结或许自己也会无处其中新的道。

支持(0)反对(0) http://pic.cnitblog.com/face/u306300.jpg?id=02194424

/#28楼22259362011/10/23 23:51:28 2011-10-23 23:51 牛_

为啥我的评论这么小?

支持(0)反对(0) http://pic.cnitblog.com/face/u306300.jpg?id=02194424

刷新评论刷新页面返回顶部

注册用户登录后才能发表评论,请 登录注册访问网站首页。 博客园首页博问新闻闪存程序员招聘知识库

最新IT新闻: · 新硬硬整合时代 · 狗血的百度91并购案啊 阿里和周鸿祎都曾掺和 · 如何让搜索引擎抓取AJAX内容? · 避免代码注释的五大理由 · OpenWrt——适用于路由器的Linux系统 » 更多新闻...

最新知识库文章: · 阿里巴巴集团去IOE运动的思考与总结 · 硅谷归来7点分享:创业者,做你自己 · 我为什么不能坚持? · 成为高效程序员的7个重要习惯 · 谈谈对BPM的理解 » 更多知识库文章... Powered by: 博客园 Copyright © 觉先

Linux大文件传输

Posted on

Linux大文件传输

作者: 颜开 日期: 2012 年 2 月 7 日
我们经常需要在机器之间传输文件。比如备份,复制数据等等。这个是很常见,也是很简单的。用scp或者rsync就能很好的完成任务。但是如果文件很大,需要占用一些传输时间的时候,怎样又快又好地完成任务就很重要了。在我的测试用例中,一个最佳的方案比最差的方案,性能提高了10倍。

复制文件

如果我们是复制一个未压缩的文件。这里走如下步骤:

  1. 压缩数据
  2. 发送到另外一台机器上
  3. 数据解压缩
  4. 校验正确性 这样做会很有效率,数据压缩后可以更有效的利用带宽

使用ZIP+SCP

我们可以通过ZIP+SCP的组合实现这个功能。

gzip -c /home/yankay/data | ssh yankay01 "gunzip -c - > /home/yankay/data"

这条命令是将/home/yankay/data经过GZIP压缩,通过ssh传输到yankay01的机器上。 data文件的大小是1.1GB,经过Zip压缩后是183MB,执行上面的命令需要45.6s。平均吞吐量为24.7MB/s

我们会发现Scp也有压缩功能,所以上面的语句可以写成 scp -C -c blowfish /home/yankay/data yankay01:/home/yankay/data

这样运行效果是相同的,不通之处在于我使用了blowfish算法作为Scp的密匙算法,使用这个算法可以比默认的情况快很多。单单对与scp,使用了blowfish 吞吐量是62MB/s,不使用只有46MB/s。

可是我执行上面一条命令的时候,发现还是需要45s。平均吞吐量还为24MB/s。没有丝毫的提升,可见瓶颈不在网络上。 那瓶颈在哪里呢?

性能分析

我们先定义几个变量

  • 压缩工具的压缩比是 CompressRadio
  • 压缩工具的压缩吞吐是CompressSpeed MB/s
  • 网络传输的吞吐是 NetSpeed MB/s

由于使用了管道,管道的性能取决于管道中最慢的部分的性能,所以整体的性能是:

speed=min(NetSpeed/CompressRadio,CompressSpeed)

当压缩吞吐较网络传输慢的时候,压缩是瓶颈;但网络较慢的时候,网络传输/吞吐 是瓶颈。

根据现有的测试数据(纯文本),可以得到表格: 压缩比 吞吐量 千兆网卡(100MB/s)吞吐量 千兆网卡吞吐量,基于ssh(62MB/s) 百兆网卡(10MB/s)吞吐量 ZLIB 35.80% 9.6 9.6 9.6 9.6 LZO 54.40% 101.7 101.7 101.7 18.38235294 LIBLZF 54.60% 134.3 134.3 113.5531136 18.31501832 QUICKLZ 54.90% 183.4 182.1493625 112.9326047 18.21493625 FASTLZ 56.20% 134.4 134.4 110.3202847 17.79359431 SNAPPY 59.80% 189 167.2240803 103.6789298 16.72240803 NONE 100% 300 100 62 10

可以看出来。在千兆网卡下,使用QuickLZ作为压缩算法,可以达到最高的性能。如果使用SSH作为数据传输通道,则远远没有达到网卡可以达到的最佳性能。在百兆网卡的情况下,各个算法相近。对比下来QuickLZ是有优势的。

对于不同的数据和不同的机器,可以得出不同的最佳压缩算法。但有一点是肯定的,尽量把瓶颈压在网络上。对于较慢的网络环境,高压缩比的算法会比较有优势;相反对于较快的网络环境,低压缩比的算法会更好。

结论

根据上面的分析结果,我们不能是用SSH作为网络传输通道,可以使用NC这个基本网络工具,提高性能。同时使用qpress作为压缩算法。 scp /usr/bin/qpress yankay01:/usr/bin/qpress ssh yankay01 "nc -l 12345 | qpress -dio > /home/yankay/data" & qpress -o /home/yankay/data |nc yankay01 12345

第一行是将gpress安装到远程机器上,第二行在远程机器上使用nc监听一个端口,第三行压缩并传送数据。

执行上面的命令需要2.8s。平均吞吐量为402MB/s,比使用Gzip+Scp快了16倍!!

根据上文的公式,和自己的数据,可以绘出上面的表格,就可以选择出最适合的压缩算法和传输方式。达到满意的效果。如果是一个长期运行的脚本的话,这么做是值得的。 Share the post "Linux大文件传输"

DIV align=名称

Posted on

DIV align=名称 , DIV style=名称, DIV id=名称 有什么区别?怎么用?_百度知道

百度首页 | 百度知道 | 登录

关闭 百度知道 新闻 网页 贴吧 知道 MP3 图片 视频 百科

帮助 设置

百度知道 > 电脑/网络 > 互联网

添加到搜藏 已解决

<DIV align=名称 ,<DIV style=名称,<DIV id=名称 有什么区别?怎么用?

悬赏分:20 - 解决时间:2007-7-13 09:55

<DIV id= <DIV class= 上边的我知道怎么用什么意思 下边的就不知道了 <DIV align= <DIV style=

提问者: xyq0313 - 一级 最佳答案

1.

3.
/#myDiv {float:left;margin-left:10px;background:/#FFFFFF;} 4.
则在CSS中有div1所对应的样式: --------------------- 3,4的区别是:
/#idName {} .className {} ---------------- 区别
相当于
也就是说align="center"只是HTML里的标记, 通过CSS的样式(style)完全可以实现,而且CSS样式的功能远不止"将区块对齐"。

34

回答者: haoyeeh - 五级 2007-7-2 12:15 我来评论>>

提问者对于答案的评价: 非常感谢大家

相关内容