华为牛人在华为工作十年的感悟! + 一个程序员的奋斗历程(再发经典)

来源:互联网 发布:软件破解版商店 编辑:程序博客网 时间:2024/05/16 14:51

徐是华为数据中心的头,技术超级牛人,一级部门总监,华为副总裁,年收入过千万,数据中心是用火山岩建的深入地下的一个大型建筑.防辐射,可防卫星的电 子,雷达等手段的侦察.里面有象卫星发射中心那种超大屏幕,机房里满是三米的大型服务器和大型计算机.连接整个华为全球的每一台终端,整个华为每天三十多 万封邮件,海外和全球的同步研发,内部的信息管理,内部流程,华为的国内国际IP电话都是通过出去.

上周,我正式提交了离职报告,准备给自己的职业生涯一个很大的转折,这是我长时间的思考最后所做的决定.但真的提出离职后,回想在公司的十年,还是百感交集.

1997年7月16日,我只身提着一个包从深圳宝安机场下飞机,走出机场,天是那么蓝、白云那么低、空气那么潮,仰头望天,对这个城市,对公 司、对即将开展的工作和生活、对自己的前途一片茫然.到了科技园,发现是个荒凉而偏僻的地方,不过倒很安静,上学的几年中,一连串的打击,使得我似乎有点 喜欢这种安静、荒凉、在他乡的感觉.现在想想,经过十年的工作,自己的心灵真是麻木得可以了.那时候的心里,好像时时有些什么没有着落的东西在激荡,但又 说不出来,只有在听德沃夏克的《自新***交响曲》时,才发现多有深处的共鸣以至落泪.

由于没赶上大批应届生的接待,我是自己一个人来到科技园1号楼的,干净整洁的大楼,很帅很靓的保安和前台,进进出出精神饱满的员工,让人的心 情为之一振.象没头苍蝇一样乱走了一会后,一位人力资源的大姐,很职业、热情、耐心的告诉了我入职手续如何办理,并安排我当晚在粤海门华为之家临时居住, 又安排之后的宿舍事宜,在举目无亲的异乡让人倍感亲切,至今记得.

来深圳、来华为当时确实是一种机缘,96年华为名气并不响,特别是在行业之外,偶尔一次我在同学家里看到一张华为人报,有几片文章印象至今很 深:一篇是周劲写的欧洲考察心得,讲欧洲一个20-30人的小公司,所具有的那种全球化运作战略、能力和气度.一篇是唐东风写的被评为杰出员工受表彰后的 感想.还有一篇名头很大“中央研究部知识产权处”,当时被这个名头吓了一跳.文中讲到华为当年研发累计投入1.8亿人民币,更让我吓一个跟斗.我想当时清 华大学一年科研经费也就1亿多点,这家公司什么来头,花的科研投入比清华还多?当时就有了兴趣.

快毕业的时候,连连受挫,找工作跟当年大部分同学一样,希望留北京,但连续被联想、方正、科海、卫通等当时大名鼎鼎的公司录取后又告知要交几 万块钱才能解决户口问题之后,想到了还有华为这样一家公司,给人力资源部寄了一份简历.没几天,一个深圳的电话,说某年某月某日有个副总裁来北京,面试一 下.抱着试试看的态度跑过去了,是公司原副总胡红卫,他基本上没有问我什么问题,到是介绍了一下华为的情况,然后把人力资源经理田景琦叫了过来,当场就给 了我一个“录取通知函”和入职操作指导.我一肚子犯嘀咕,这是不是一家骗子公司?怎么这样就算面试通过了?连工资有多少都没有机会问.之后一直到报到前, 都有点怀疑,幸好有个本科的同学,在华为工作过,在向他咨询后了解到公司还是实实在在有的,才下了决心过来.总的说来,就是被一张华为人报“骗”来的.

就这样懵懵懂懂到了华为,一开始新员工培训,纪律严明、严格,班车不会多等半分钟,之后是部门培训,大量的信息扑面而来.之后到了工作岗位 上,给我分配的工作是ERP系统管理员兼DBA,虽然以前也搞过一些大系统,如兼职做过印度人的大型银行软件的客户化开发,但见到我们的 ALPHA8200和我们的软件ORACLE,心里还是激动不已.IT的发展一日千里,10年前的技术与今天比,很多人可能没有体会了.那时比较落后,很 多人也没有机会接触这种当时很先进的系统.我见到我们居然有2G巨大内存的“超级服务器”当时实在是佩服不已,为自己能做它的管理员而自豪,又为自己将来 能不能玩转它而焦虑.我师傅王忠宁见到我就撂给我一本书《ORALCEADMINISTRATORGUIDE》,一寸半厚的英文书,愣是一周之内从头到尾 看完并写了厚厚的读书笔记和一大堆不懂的问题,自此再也不怕厚厚的英文书.

当时正好是公司ERP上线没多久,业务正在推行,系统极不稳定,每天的并发程序有一半是跑错的,系统还会动不动CRASH.我看完一本书后, 在刚刚成为OneBookMan时,问题单就来了,有一个重要的××引入程序有时候跑得出来,有时候跑不出来.说实话,那时候对ERP、ORALCE、操 作系统一切几乎还是一头雾水,而问题却已经传过来了,只好硬着头皮,摸索了好半天,终于明白了有一批数据在倒的时候,系统准出错.几万条数据,一条条试是 不可能的,我就想出了用二分法,一批一批的试,完全手工动作,笨拙、费时、费力,做了几十遍,花了整整一天中午饭都错过了,终于定位到了其中一条数据,而 后发现是数据超长而数据库定义的长度不够并且校验程序有BUG没校验出来.经过又返回去重复验证,证明找到的原因是正确的.当时真是心中大喜,几乎在完全 不懂系统、不懂这个程序是做什么的、不懂程序处理的逻辑、不懂数据库的设计的情况下,把这个BUG定位出来并交回给ORACLE处理了.这是我上班后解决 的第一个问题,至今我对这个问题本身还并不明白,呵呵.这让我懂得了一个道理,工作和读书不是一回事,工作是要解决问题的,是要产生结果和输出的.不管怎 么样,能找到方法解决问题、能够有好的输出结果那就是成功.读书才追求的是慢慢读,读懂为止.

那时的系统,真是岌岌而可危,公司的业务高速发展,业务也不断推行,系统的负荷越来越高,但系统却不是经常宕机,就是跑得如老牛般慢.我们的 技术水平和管理水平,也是与现在不可同日而语.水平不行体力补,大家兢兢业业背负责任,闯过种种难关,终于还是挺过来了.现在想想,还真是有点后怕的,稍 有不慎真有可能全线崩溃.我也能理解有些大企业,为什么倒起来那么快了.现代的组织,经常是高度复杂的组织,就象生物一样,低等的蚯蚓断成两段,照样生 存.而高等的人,身上戳个小小的洞可能得毙命.高度复杂的组织,就象人体一样,内部小小一块地方如果出关键问题了,组织可能崩溃.要保证不崩溃只有两条 路:1)组织本身的设计和流程的设计高度科学、冗余和足够的制度性反应机制,这是西方国家的强项,他们的公司历一百年不倒,是有强大的内在因素的.2)依 靠组织内每一个最小单元的高度的负责、警觉.虽然我们多年来一直在强调第一种能力的培养,但我们天生缺少这样的土壤和基因,因此第二种能力变得十分重要, 虽然这不是最好的办法.

头两年的工作中,我们水平很低,体力劳动很多,有一段时间,我一上班就得高度紧张地盯着系统,不停地干预,系统才能跑下去.一会儿系统进程死 了,一会儿空闲进程多了要杀掉,一会儿表空间不够了要扩展,一会儿用户提交了不合理的并发程序要中止...有一段时间,我成了热线兼现场支持,一天接50 -80个电话,接了电话到处跑.之后我们做了很多改进工作,升级了系统硬件、写了自动脚本,成立了专门的热线等等,这期间我慢慢懂得了一个道理,一个大的 复杂系统要成功的管理好,没有绝招,依靠的只是一点一滴持续不断的改进和努力.

有一度由于压力过大,也使我精神高度紧张,到了比较神经质的地步,有一段时间,一听到CALL机响,甚至是电视广告里的“摩托罗拉寻呼机,随 时随地传信息”中的BP声,我的心跳就不由自主加速,喉咙发干.有一次去香港出差,从出发开始就一直惴惴不安,生怕系统出问题,结果刚到香港住进酒店,一 个电话就来了,说系统崩溃了.我立即打国际长途叫赵×赶紧去处理,过了几分钟,赵回电话绝望地说,他以最快速度赶到一号楼,进了电梯刚走到一半,喀嗒停电 了,电梯卡在中间半个多小时,祸不单行,当时那种感觉真是“农夫内心如汤煮”啊.最后过度紧张使得我想逃避,导致我提出了辞职.所幸那时候的领导袁总和郭 总,开导我多次,我逐渐有所缓解,然后慢慢开始理解了什么叫大将风度.做我们这一行,要如履薄冰、但也要有点临危不惧的精神.工作紧张,但心情要避免无谓 的紧张.后来我们的ERP系统、IT数据中心,又出现过多次危险情况,淹过水、着过火,而我们最终都能够化险为夷.

工作并不只有艰苦和繁琐,有时候,乐趣也不期而至.当时我们的数据库总是出ORA-1555错误,严重影响系统的运行,我多天努力、百思而不 得其解.现在的管理员可能会想,这不是一个小问题吗,但那时网络还没现在这么发达,什么东西一GOOGLE都出来了,我找了大量的资料,苦苦思索,最后终 于灵光一现,象拼藏宝地图一样拼出了逻辑严密的解释和解决方案,我记得当时是深夜,内心偷着乐的感觉妙不可言,不需要别人知道、不需要别人理解,走出公司 大门,仰望星空,深深吸一口气,内心偷着乐.还有另一次,当我们经过30多个小时的连续作战,解决种种问题,终于顺利升级成功ERP系统后,那种感觉也象 打了胜仗的将军,充满胜利的喜悦.记得当时正是刚谈女朋友,给她写了第一封也是唯一一封情书,成为太太后,她有一次跟我说,你那玩意儿叫啥呀,那能叫情书 吗?通篇都在讲你如何如何工作的,象工作汇报一样,简直可以跟鲁迅写给许广平的“情书”相媲美,尽是革命理想,没有点花前月下.....还有一次,我们的 EMAIL系统突然出了故障,大量的来信收不到.那时是华为开拓海外市场的初期,海外还根本没有什么公司网络,所有的一切都是靠EMAIL和国际长途,天 象塌下来一般,我们跟主管国际市场的徐直军汇报、最后向老板汇报请示是否应该报公安,因为当时的故障现象很象DDOS攻击.系统停了整整七天,我们请了各 路专家,日夜攻关,试了N个方案,大家象大禹治水一样过家门而不入.最后还真找到了一个木马“冰河”的攻击,但却发现不是根本原因,故障依旧.最后一天晚 上,我与阿韦坐在科技园一号楼冰冷的网络机房,看着系统一封一封的邮件,连接了,又中断了,一筹莫展,濒临崩溃.我抱着死马当活马医的心态,又祭出了我的 “二分法”体力活,测试了一封空邮件,能成功;测试了一封大邮件,失败;取其中间值,又失败;再取中间值,成功;再取前两次的中间值,成功.....一直 到深夜,试了N次,终于总结出了规律!再一验证,只要在某个大小的地方,比它大的统统收不到.重要发现!然后改用PING包,发现在一千四百多字节的地 方,再大就PING不通了,现象可重复.再去想理论,如果按协议理解,这也不可能啊,即使MTU调小了,大包超过MTU也应该自动分片啊?除非是MTU在 某个地方调小了,而协议又有异常.发现这个规律后,阿韦立刻跟电信联系,果然是一周前电信调整了路由器MTU并且CISCO的路由器有BUG引起.问题就 此解决,当时吸了口气,那种舒坦啊!...没经受过类似极限考验的人可能不容易理解那种快乐!这种快乐是工作本身带来的,不需要别人来表扬,甚至不需要别 人知道.能够有机会也能用心去体会这种快乐的人,怎么会不热爱工作?

工作也肯定不是只有成功和荣誉,有时候我也做很多蠢事和傻事,或者由于幼稚被人骗,或者是由于轻率导致工作失误.有一段时间,ERP系统岌岌 可危,系统容量面临崩溃.我多次大声疾呼,几乎每一次有机会见到CIO郭总都大呼小叫一番.郭总当时刚来我们部门,一开始觉得我这个人怎么能这样?在一次 部门全体会议上,郭总点名批评“徐家骏总是瞎咋呼,只会威胁我,却拿不出一个好的方案”.心里相当郁闷,但系统还在我手里,能等着它死吗?我还是一如既往 的瞎咋呼,但也改进了一点,拿出了方案.郭总批准花了500多万来改进系统,这次给了我们1-2年的稍稍太平时间,从而有机会做更多的改进优化工作.当时 的500多万跟现在的概念可大有不同,现在IT花个500多万是小菜,那时500多万可是天文数字啊!当时相当佩服郭总的魄力,记得他要做大笔花钱的决策 时,常说的一句话是“牛都杀了,还在乎牛毛?!”.很久以后,郭总有一次提到,徐家骏这个人工作还是蛮执着的.后来我的职位不断地得到了提升.之后我负责 了很多重大的项目,往往涉及重大的投资,几百万、几千万,这些年来总共给公司花掉好几个亿.这中间技术方案制定,也有被忽悠了的.甚至重大项目投标时,有 供应商恶毒的投诉诬蔑我的事,所幸公司及领导给了我这样的土老冒充分的信任.这些事我的体会是:只要你心无旁骛,目标单纯,就是想把这个事情搞好,并且持 续地、啥都不计较地、傻傻地去推动,内心无愧,一时可能会有工作失误,一时可能会得罪人,可能会有人不理解,但长远来看还是会得到公正的承认的.

公司快速发展和扩张,由于工作业绩还过得去,很快就被提拔为小主管了,一开始觉得做主管也没啥,业务的细节我都是一清二楚的,不就是多了几个 人一起干活吗?有一次,IT二把手袁总说“我要参加一次你组织的部门例会,看看你是怎么做管理的”,没问题,在例会上,我侃侃而谈,把业务分析得透彻细 致,把工作安排得井井有条,洋洋得意地结束了会议,期望着袁总能给点表扬.袁总一声不吭坐到结束,等人都走了,劈头盖脸一顿“徐家骏,你知道这叫什么吗? 这叫生产队长!农民!...”,一开始还不服气,我业务这么清楚、工作安排得这么妥当,管理能力还不行?后来,慢慢地自己也发现了问题,后来部门安排了去 参加封闭4天的管理干部培训,才算接触到了管理ABC,渐渐体会到,原来管理也是一门学问,而且大有学问.有了这个认识,后来我也时时留心.其实在华为要 学习管理最简单,第一要诀是向身边的人学,华为的很多管理者,修养和能力超强,在平时和他们一起工作的一点一滴中,如果你细心去观察和体会,收获实在可以 不少.比如说,有一段时间,我每周参加IT部门干部例会时,大家讲得差不多了,该由领导作判断和决策、做工作安排之前,我就会猜,领导可能会做有什么判 断、会做什么决策,特别是有些事情充满矛盾和冲突,需要权衡时.一开始十猜九不中,并且很多看法别人说出来之后觉得耳目一新、不胜佩服.于是就去想他为什 么会这样判断和决策,背后做的功夫是什么,慢慢地自己处理类似问题的思路也比较开阔了.另外、别人在管理中犯的错误,也是自己学习的好机会,自己犯错误自 己是不容易觉察的,但别人犯错误自己可以觉察,然后可以警醒自己避免类似错误.

后来,做数据中心经理、技术支持经理、IT基建经理、系统运作副总监,变做边学,做团队管理、做考核、做流程优化,应对种种难题:如用户严重 不满、工作头绪繁多流程乱来、资源严重紧张、骨干员工要离职、刺头员工提种种要求、部门骨干之间文人相轻、部门之间配合大起冲突、末位淘汰等等等等,逐渐 逐渐对管理的体会越来越深,对管理的重要性认识越来越深.应对这些难题,当时真是殚精竭虑,有时甚至痛苦不堪.但我事后的体会是,凡是自己在感觉严重受挑 战、整天闹心痛苦的工作阶段,往往是自己能力和心态进步比较快的阶段,而有时候工作一切都已摆平、风平浪静,可以悠哉游哉的时候,半年过去,发现自己一无 所获,毫无建树,其实内心深处更加焦虑和痛苦.我后来总结过很多管理工作的要点和戒律,也总结了一句话,叫做“成功人士就是经常成功地跟自己过不去的人 士”.

2003年下半年,数据中心建成后,IT运作这一块,在多年的岌岌可危之后,终于有点风平浪静的意思了,为了“跟自己过不去”,其实也是为了 自己的兴趣,我向领导申请去信息安全部并得到了批准.当时业界还处在冬天时期,华为在冬天时期,不但面临竞争对手的威胁,更严重的是面临内部的威胁,屡屡 爆发的重大产品、商务信息泄密,给公司造成了重大的损失,信息安全形势十分严峻,也触发了公司最高领导层对信息安全工作的超级重视.信息安全工作是是一个 基本纯防守的工作,防守战线太长太长,整个系统的防守强度取决于最薄弱环节,而攻击者却可以集中资源,只要攻其一点即可.我到信息安全部,发现我们的管理 体系、政策体系经过几年的努力,已经有一定的建树,而技术方面的能力却是很薄弱的环节.因此,重点在此方面开展了工作.几年之内,我们部署了很多防护系 统,也培养了一批人,在我离开信息安全部时,整体上应该讲有了较大的改变.

调到信息安全部工作期间,其实给我最深的体会是跨部门的合作,在原来部门时,信息安全部也经常来“烦”我,我的反应经常的是排斥和不满,到了 信息安全部后,变成经常是我得去“烦”别人,并且我们部门是特别讨人“烦”.如何取得他人的合作?是一直来磕磕碰碰的难题.比如SPES开发和推行这个大 项目,要“烦”的人实在太多了:数据中心、网络部、PC、海外IT、研发信管办、销服信管办、采购、发货、进出口部、物流、各国代表处、公司各级领导、最 终用户等等.在不断地“烦”人的过程中,我总结出了一套“合作方法论”,有很多道道,不过最终总结起来,一句话简单说就是“如果你总是抱怨别人跟你不合作 的时候,问题一定是出在你自己身上.”

03年底,当时业界连续几次蠕虫的发作,部门几个技术人员一直在讨论如何搞一个方案对付这个问题,我们设想了种种可能性,最后部门技术大牛季 昕华提出一个设想:把客户端的软件和网络上的设备联动起来来控制蠕虫,并且做了一个很有意思的胶片,把对付SARS的手段用来对付蠕虫了.我一下子被这个 新颖的设想所吸引,后来我在此基础上与大家多次讨论进一步扩展了概念,提出了策略强制系统的概念.为了让我们的设想能够付诸现实,我在部门其实并未授权的 情况下,偷偷搞了几个人,花了半年时间把POC系统做了出来.POC系统刚出来,我们就听到了CISCO在04年中发布了其SDN/NAC产品概念,跟我 们的思路非常接近,这给了我们很大的信心,后来我干脆主动请缨,放弃其他管理事务,全职投入到组建一直开发队伍,开发SPES产品中去.最终我们产品开发 成功了,在公司全球100多个国家6万多员工大规模的推广也成功了,并且在公司内部良好运行至今.这件事给我最大的启示是:我们要有信心、要敢做, CISCO并不可怕.说老实话我们是一支很土八路的队伍,也不属于公司的研发体系,我们这支土八路的队伍,坐了2年冷板凳,磨啊磨啊,最终还真磨出来一个 还不赖的东西.2004年底,在磨出来这个东东之后,我们又开始张罗产品认证、组织市场活动、策划定价及销售策略、寻求多方合作、建设支持体系等,在我们 经过艰苦的市场拓展,客户已经开始广为感兴趣并已经形成几单实际销售的情况下,公司由于政策问题,为了确保资源最大限度投放到公司内部工作以支持公司海外 市场的大发展,叫停了我们真正做成对外销售的产品,虽然我理解公司的大方针,但这个决定还是让我非常痛心,否则我相信今天这个产品很有可能已得到更大的发 展.前不久我去北京出差,跟一个公司产品的代理商偶尔聊天,他不知道我是SPES的主要负责人,大大的吹了一通我们的东东并很惋惜为什么不卖,不禁让我又 喜又悲.

转眼工作十年了,在华为的十年,正是华为从名不出专业圈子到现在成为路人皆知的大公司,高速发展的十年,见证了公司多年的奋斗历程.也投身其 中,在大潮中边学边游泳,走到今天.现在我要离开公司了,准备去开始新的事业,接受全新的挑战,我将要去做的事情,风险很大,很有可能是九死一生,九死后 还能不能有一生,也难说.在开始新的事业之前,想起了对过去的十年做个一个详细的总结.在一个象华为这样高速发展的大企业工作,有时是一种炼狱般的锻炼, 如果我能够总结十年的经验和教训,从中学到关键的做事、做人的道理,我想对将来一定大有益处.

这些年来有些人离开公司,写一些东西或书,对公司指手画脚、评头论足、指点江山,对公司的高层领导逐个点评一番,我个人感觉除了带来一些娱乐 价值,还有什么益处呢?公司照样在发展,发展的背后,6万人种种梦想、努力、贡献、牺牲、奋斗、抱怨、不满、沉淀、离去、希望、失落;发展的背后,种种机 会、重大决策、危机、失误等等的内在逻辑又岂是局外人说得清楚?我不想多说公司,只是想对自己的工作经历好好反思反思,想想自己做了什么努力,做了什么贡 献,做了什么自己最高兴、做了什么自己最受益、学到了什么?总得说来,我在华为的十年是懵懵懂懂过来的,当初我好像没有什么远大的理想、没有详细的规划, 只是想着把一件一件事情做好.通过自己的总结和反思,将来我希望自己能够更加有规划、更加清晰一点.

大概想了想,我觉得有以下几点,是这些年深有体会的经验和教训,值得今后再发扬.

一、“从小事做起,学会吃亏,与他人合作”,这是研究生毕业前最后一堂课,电子电路的老师最后送给我们几句话,虽然我忘了这位老师的名字,但 这几句话却至今铭记.在华为的工作实践,越发感受到这简单的几条的道理深刻.从小事做起不是一直满足于做小事,也不是夸夸其谈好高骛远.学会吃亏不是忍受 吃亏,是不斤斤计较于一时一地的是非得失,是有勇气关键时候的放弃.

二、“心有多大,舞台就有多大”,我们很多的成功,来自于敢想,敢做,就象我第一次接到问题单,根本不懂,但敢去试,敢去解决,还真的解决 了;就像我们做SPES,即使没人、没技术、没积累,还有CISCO等大公司也在做,我们也敢做,敢推行,不盲目崇拜或畏惧权威,也取得了成功.当然,这 不只是盲目的胆大,心大还意味着积极地关注广大的外部世界,开阔宽容的心胸接受种种新鲜事物.

三、“好好学习,天天向上”,这句话用来形容对IT人的要求,最贴切不过了.真正的成功者和专家都是“最不怕学习”的人,啥东西不懂,拿过来 学呗.我们IT现在有个技术大牛谭博,其实他不是天生大牛,也是从外行通过学习成为超级专家的,他自己有一次跟我说,当年一开始做UNIX系统管理员时, 看到#提示符大吃一惊,因为自己用过多年在UNIX下搞开发都是%提示符,从未有过管理员权限.看看专家的当初就这水平!当年跟我做备份项目时,我让他研 究一下ORALCE数据库时点回退的备份和恢复方法,他望文生义,以为数据库的回退是象人倒退走路一样的,这很有点幽默的味道了,但他天天早上起来,上班 前先看一小时书,多年积累下来,现在在系统、数据库、开发等多个领域已成为没人挑战的超级专家了.但是,学习绝对不是光从书本学习,其实更重要的是从实践 工作中学习,向周边学习.比如说我在华为觉得学到最重要的一个理念是“要善于利用逆境”,华为在冬天的时候没有天天强调困难,而是提出“利用冬天的机会扭 转全球竞争格局”并真的取得成功,如果没有这个冬天,华为可能还要落后业界大腕更多年份;华为在被CISCO起诉时没有慌乱,而是积极应对,利用了这次起 诉达到了花几亿美金可能达不到的提高知名度的效果.等等这些,把几乎是灭顶之灾的境遇反而转化为成功的有利条件,对我留下的印象十分深刻,也对公司高层十 分佩服.

四、勇于实践,勇于犯错,善于反思.很多事情知易行难,关键是要有行动,特别是管理类的一些理论、方法、观念.空谈、空规划一点用处都没有, 不如实际把它做出来,做出来后不断反思改进,实实在在最有说服力.没有实践中的反复演练和反思,即使是人人皆知的东西要做好都其实不容易,举个小例子,比 如做管理者要会倾听,我想华为99.9%的管理者都很懂这一点,但实际做的如何呢?华为有多少管理者做到了不打断别人讲话?不急于下结论给定义?不急于提 供解决方案?有多少管理者能够做到自然地引导对方表达?问问对方感受?确认自己明白对方?

五、要有方法、有套路,对问题系统思考、对解决方案有战略性的设计.在前几年的工作中,由于取得了一点成功,技术上也有了一点研究,就开始夜 郎自大起来了,后来公司化重金请来了大批顾问,一开始对有些顾问还真不怎么感冒.后来几年公司规模越来越大、IT的复杂性越来越增加的情况下,逐渐理解了 很多.西方公司职业化的专家,做任何事情都有方法论、有套路,甚至于如何开一个会都有很多套路,后来我对这些套路的研究有了兴趣,自己总结出了不少套路并 给部门的骨干培训和讨论.在一个复杂的环境下,很多问题已经不能就事论事来研究和解决,非常需要系统性的方法和战略性的眼光.对于一个组织的运作来讲,制 度和流程的设计尤其需要这一点.爱恩斯坦说过: Wecan'tsolveproblemsbyusingthesamekindofthinkingweusedwhenwecreatedthem.

六、独立思考,不人云亦云.公司大了,人多了,混日子也容易了.人很容易陷入随波逐流、不深入业务的境地,而看不到问题和危险.专家有过一个 研究,雪崩发生时,一般受害者都是一批一批的,很少有单个人的受害者,原因很简单,单个人在雪崩多发地会相当小心和警觉.但一个群体,群体越大,每个个体 就会有一种虚幻的安全感和人云亦云的判断,但现实是不管群体的力量有多大,雪崩都是不可抵抗的.因此我觉得在大的机构里,保持独立思考的能力尤为重要.

七、少抱怨、少空谈、积极主动,多干实事.我曾经是个抱怨很多的愤青,经常容易陷入抱怨之中.但多年的工作使得我有所转变,因为知道了抱怨是 最无济于事的.世界上永远有不完美的事情,永远有麻烦,唯一的解决之道是面对它,解决它.做实实在在的事情,改变我们不满的现状,改变我们不满的自己.实 际上也有很多值得抱怨的事情都是我们自己一手搞出来的,比如社会上很常见的是高级干部退下来了,抱怨人心不古、感慨世态炎凉,如果好好去探究一下,原因很 可能是他权位在手春风得意时不可一世、视他人如粪土造成的.

八、对职业负责、对目标负责,对自己负责,成功者往往自觉自律、信守承诺、心无旁骛.大企业肯定会有绩效考核、会有论功行赏、会有KPI、会 有领导指示、甚至会有一点企业政治,但如果我们片面地追求考核成绩、片面追求KPI指标、片面追求权钱利益,片面地对上负责、对别人负责,而不对自己负 责、不对自己的目标负责,失去工作的使命感、责任心、热情和好奇心,必将不能达到自己的最佳境界.而一个企业如何能够成功营造一个环境,让每个个体尽量发 挥到最佳境界,企业也会战无不胜.

九、多点人文修养和审美情趣,看起来与工作不怎么相关,其实太相关了.杰出成就的取得离不开对美的境界的追求,最伟大的科学发现,往往蕴涵着秩序、简洁和美.缺乏一点审美的追求,什么UGLY的事情都敢做、不择手段、凡事凑合,一点都不“高雅”,必将不能长久.

十、“大家好,才是真的好”,关注人,帮助人,真诚待人,厚道做人.快速发展的现代社会,由于媒体的作用,过分渲染了人与人之间日益冷漠、诡 诈的关系,但实际的社会、社区可能真的不是那么回事,起码我来华为之前,对一个大企业中工作的人事关系开始还有点未知的恐惧,但实际上在这个集体中的感觉 几乎人人都能开放、真诚相待,关系融洽和谐.所以关键是我们自己要能够真诚对待他人,在与他人互动中将心比心.当然,工作中的冲突是不可避免的,实际上冲 突也是没有必要去避免,甚至很多冲突对组织来讲,是大有益处的.就象夫妻吵一架后感情往往更好.只要我们掌握两大原则:1)对事不对人,2)与人为善.就 肯定能把适度的冲突引导到对自己、对组织都有利的方向.

十一、开放和分享的态度,在一个高科技公司工作,如果报着保守和封闭的心态,成长肯定会受阻.

十二、做好时间管理.在华为工作十年,3650天,工作日3000天左右,这些时间是不是花在最重要的事情上了,有效的、有产出的工作时间究 竟有多少,实在值得怀疑.时间管理是我在华为工作当中最大的教训之一,可能也是公司整体性的问题,工作缺乏计划,经常是面临不断的被打断;或者是不断去打 断同事下属;或者是不断的会议、讨论,占去绝大部分的时间;或者是被自己的兴趣所牵引,花大量时间搞一些不着边际的事情;或者是花很多时间在一些细枝末节 的事情上,把很难很重要的事情一直拖到非解决不可的地步然后被迫仓促行事.现在回想,如果真的能管理好这十年时间,我觉得成就应该大很多.

在华为的十年,还有一笔最宝贵的财富是结识无数优秀的同事、朋友,他们给予我很多启发、给予我无私帮助,要感谢无数给予过我帮助、启发的人:

首先感谢我的师傅王忠宁和二师傅祈宇,是他们带着我走上了工作岗位的第一步并真诚地帮助我.或许是由于左手有六个手指头的缘故,师傅个性偏 执,牢骚满腹,与很多人合不来.但我跟他一年多,一起抽烟、一起在冰冷的机房喝冰冷的可乐、一起发牢骚、一起到路边小摊吃炒米粉,无话不谈,成了最好的朋 友,他对自己的事情高度负责的精神和刚直的个性给了我深深的感染.他终身未婚,在99年不幸患肝癌离世.去世前几天,我去医院看他,给他送了一朵鲜红的玫 瑰花,希望他能够把花献给他喜欢的、住院期间给他很好照顾的护士,他非常高兴.

感谢我的老领导许总,刚到部门时他给我们做ERP培训,我们班上所有的人都皱着眉头很痛苦,因为都听不懂他的诸暨话.而我大喜,因为我也是浙 江诸暨人.作为公司元老级人物,许总这么多年来工作激情丝毫不减,让人佩服;许总经常骂我们,甚至狗血喷头,但他也是最经常请我们吃饭的领导,点菜的水平 很高,酒德很好...也感谢曾经作为我领导的郭总、袁总、李总、胡总、洪总、周总、陆总、付总等,他们给予我太多机会、给予我太多宽容,我从他们身上也学 到很多很多.

感谢太多同事和下属,不管是还在华为或者已经离开的,曾经为了支撑我们的工作目标,他们承担太多压力、默默付出太多.科技园我们的机房值班人 员邓迅雷,天天晚上彻夜坐在冰冷而空气不好的机房里,为了防止老鼠咬断网线,想了种种办法捉老鼠.周振惠老婆在医院生孩子,他却半夜在公司加班处理自动仓 库的紧急问题.EMAIL系统出问题内存泄漏,在找到根源之前,向阳连续2天24小时坐在电脑前监视和及时重启服务.WDGL服务器几百G数据全部丢失, 沈勇偷偷摸摸、吭哧吭哧折腾了半个多月,借信用卡从美国自费买了软件,最终终于把数据恢复回来,避免了一场IT的灾难.SPES开发组,一开始基本是在师 出无名失败风险极大的情况下,成年累月日夜奋战,幸好后来胡总力排众议鼎力支持,才终于搞出来一点土土的东西.SPES在海外实施时,柯晓宇在埃及去机场 遇车祸,清醒过来第一反应是赶紧再找车去机场,否则误机了耽误下一个地区的实施.吴橹晓楠等人,瞒着家人和老婆,抢着要去伊拉克,还以为那儿可以搞支 AK47玩玩.孙颖单身女将,独闯欧亚诸国,李晶顾磊在孟加拉上吐下泻,打电话回来说话的力气都没有,照样圆满完成超出预计复杂度的任务.还有小宋、小 曹、周讯、老翟、老刘、家汉、牟头、老叶、陈君、伏朝阳、李斌、小麦、张华彦、齐燕英、鲁飞、闵朋、曾宇斌、邓湛、钟美琴等等等等……,一回忆太多太多扑 面而来,真是不能一一列举.

感谢我们部门所有默默无闻、给予我们无数帮助的秘书MM,小吴、小关、梁、沈、肖、王、龙等等,特别感谢我97年刚到公司时的秘书李丽东,做 事雷厉风行,我新员工刚报到时用一台电脑没多久,有个老员工过来说这个电脑是他的,他要拿走.我赶忙向许总求救,许总听完我的汇报后,抬起头:“嗯 &@$#%,我们部门的电脑怎么管理怎么这么混乱?必须加以改进了!”之后一时没下文,我也不知道怎么办,灰溜溜回到了座位上发愁,看到小李起身 慢慢走到那个老员工前面,劈头盖脸狂骂一顿,不知道说了些啥,走回来时,拍拍我肩膀“徐家骏,搞定了”.当时我对她崇敬不已,简直须仰视可见.之后有一 天,她上班的时候叫我,“徐家骏,到我家去一趟”,我乐呵呵的去了,把她的一台破24寸电视机从蛇口的一端搬到了另一端的修理站,当然,这算是外出公干!

感谢若干多的供应商销售和支持人员、顾问,多年来我有时把他们逼得走头无路.DEC的罗辉、SUN的李建文、IBM的GARY、ORALCE 的张力、高波等等等等,都是我崇拜的大牛,从他们我学到了很多很多.我最佩服的张力有一个本事无人能及,他能端端正正地坐着,手放在键盘上,头直直得好像 在盯着屏幕,然后睡着并且打很大的呼噜.98年我们系统从10.6升级到10.7,我陪着他一口气干了30个小时,中间偶尔等系统在跑,他就这样睡着了. 我盯着系统,一跑完就叫他,他眼睛一睁,手就开始动了,中间遇到重重难关,他都不慌不忙,很帅,很有大将风度.升级完后,我跟他去海景酒店的房间休息,我 也学他,在洗澡的时候睡着了,从浴缸里咣噹摔到了外面地上,他煞有介事的冲过来“干啥干啥呢?这么大动静!”.

感谢在我喝醉稀巴烂时半夜扶我一直到家里的王涛,感谢在我发高烧一人倒在中心医院重症抢救室时前来救我的老罗、建新,老罗陪我一夜后第二天又 正常来上班了,并且晚上又加班了;我一直希望自己也有他那牛一样的金刚不坏之躯.还有他太太,细致入微,给我买了各种必要的住院物品,在困难之中倍感温 暖.

感谢我的父母,他们大半辈子都在极艰苦、极勤奋、又是快乐中度过,他们给了我最无私的爱,也给了我最大的宽容和自由.从初中开始,凡有我的重 大决定,他们都让我自己做主.初中考高中,冒着没学上的风险,我要考县里的中学,他们支持我.考大学,他们说“清华是好的,北大是好的,科大也是好 的...”,大学毕业找工作,他们说“联想是好的,方正是好的,考研也是不错的”,研究生毕业,他们说“华为是好的...”虽然他们没听说过华为,只知道 是家民营企业不大保险.找老婆时他们说“这个媳妇真好...”,并且要求我不许欺负她,而不顾实际情况真好相反.

感谢我的太太,虽然欺负我,但对我的工作和所有怪念头都理解和支持,我工作太忙过,也发烧过PDA、发烧过智能手机、发烧过钢琴、发烧过小提 琴、发烧过APPLE,有时候回家陪这些“小情人”比陪她的时间多,她都能谅解.她对金钱和名誉常常很不在乎,家庭财务也一塌糊涂.不过做事雷厉风行、执 行力超强,我刚提离职,她就以迅雷不及掩耳盗铃之势把我们的房子卖掉了.

感谢我的女儿,虽然她才不到二岁,但她带给我和太太的快乐和幸福简直难以描述.在养育她的过程中,我们自身不断学习、反思,也得到很大的提 高,小孩的成长也是我们父母重新成长一次的机会,在与她互动的过程中,我觉得最主要的不是我和太太教育她,而是她教育我们,她触发了我们更好地去面对、体 会、反思、感悟生活和人生,并且她也触发了我很多关于管理的深入思考,感觉育儿和管理很多方面真是很相通的.为此我还专门开了一个博客,把自己对于儿童教 育、管理等的感悟记录下来.

最后感谢公司老板,给我们提供了这样一个工作平台,在这个平台上我们努力过、奋斗过、沮丧过、抱怨过、成功过、快乐过...我们从一个土老冒逐渐成长为一个职业人.真心说声谢谢!希望公司变得越来越强大,越来越成为中国人在世界上的骄傲.

 

 

 

一个程序员的奋斗历程(再发经典)

 

color=#FF0000]声明:此文为多年前的一位程序员所写,相信很多人都看过,但论坛难免又进来许多新人,有些人很迷茫,那就看看此人是怎么奋斗的吧!希望此文能对广大程序员有所启发,共勉![/color]
这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和IC相关开发,这中间走了很多弯路,也吃了不少苦。

我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的假期我就开始了学习,记得我买的第一本书是《计算机基础DOS3.0》,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0,5.0,6.0的书,以为像英语那样是第四、五、六册,记得当时到处找DOS1.0,现在想想也幸好我没有找到:)开学前我学完了PASCAL,那时既没有计算机也没有人可以请教,我连程序是什么的概念都没有, 只好死记硬背代码,然后拿纸写,我一直到大三才有了一台486,在这之前用纸写了多少程序我也记不清楚了,只知道最长的一个我拿A4大小的草稿纸写了30多页,我的C语言、C++ 、VC都是在这样的条件下入门的。所以说条件是可以克服的,希望我的经历多少给条件艰苦的同学们一点信心。第一次上机是在我姐夫的机房,我的心情激动的无与伦比,但是一上机我立刻傻了眼,他们用的是英文版的Win3.1,我的那点DOS知识都见了鬼,上机提心吊胆的一阵瞎摸,一不小心把Word弄成了全屏,怎么都还不了原,当时真是心急如焚,我以为机器被我弄坏了。第一个C语言程序,就是那个经典的HelloWorld,我调了几个星期,上机机会非常少,也没有书告诉我开发环境(TC2.0)需要设置,而且开始我都不知道有编译器,我甚至自作聪明把写好的程序扩展名从.c改成.exe,结果可想而知。大一学完了C、X86的汇编、数据结构、C++。由于精力都花在自学上了,大一下四门课挂了彩,三类学校就是这点好,挂上一二十门也照样毕业。不过扯远点说,我那么刻苦都及不了格,可见我们国家的计算机教育有多死板。

大二准备学VC和BC,当时难以取舍,后来选了VC,不为别的,只为书店里两本书,VC 那本便宜6块钱。我的努力在班上无人能及,学的日夜不分,大三有了计算机后更是如此, 很多次父亲半夜教训我说我不要命了,我一直觉得自己基础差,记忆又不行,条件也不好 ,所以觉得只有多花点时间才能赶上别人。居然后来有许多朋友说我有学计算机的天赋, 让我哭笑不得。我用的是486,16M内存,1G硬盘,当时同学们的配置都是P166MMX,我安装 一个Windows NT4.0需要一个通宵,编译一个BC5.0向导生成的程序需要近两个小时,我的显示器是个二手的,辐射非常大,开机屏幕冒火花,看起来很酷的:),有一次程序写的太久,觉得怎么白色的编辑器背景变成了紫色,以为显示器坏了,后来才发现眼睛不行了,不过说来也奇怪,到今天我的视力还能保持1.5,真是个奇迹。但是就是那台破机器陪伴了我两年,让我学会了VC、Delphi、SQLServer等。后来那台机器给我阿姨打字用,据她说一天她正打的开心,一股青烟夹着火苗从显示器钻出来,之后它才寿终正寝。

大三假期找了个机会在一个计算机研究所实习,与其说实习不如说是做义工,工作了两个月一分钱没有拿。但是这两个月对我的发展帮助很大,让我早一步了解了社会,刚去的时候我当然是一窍不通,在那里我熟悉了网络,学会了Delphi和Oracle。由于工作很认真, 得到了比较好的评价,在一位长者的引荐下,我开始和他们一起做项目,这使我在大三大四就有了自己的收入,大四又找了两家MIS公司兼职,虽然钱不多,但是在学生期间有1000多的收入我已经非常满足了,我终于用自己赚的钱把计算机换了。大四下开始找工作,这时我的工作经验已经比较多(当然现在想想非常幼稚),开始听父母的想去那个研究所, 实习过那个部门也希望我能去,但是不知道为什么最后不了了之,这种单位就是比较官僚 ,我一气之下就到了我兼职的一个公司做MIS的TeamLeader。在大三到毕业一年的时间,做过了各种MIS,从煤气、烟厂、公安、铁路、饮食到高校,什么有钱做什么,工作也很辛苦 ,经常加班和熬通宵,从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有成就感,觉得自己还不错,现在想想真是很肤浅。

刚走上工作岗位的学生很容易被误导,各种开发工具让人眼花缭乱,同时也觉得很受 公司器重,但这样工作永远是一个低层次的开发者。不要跟我说什么系统分析有多么多么重要,多么多么难。你以为自己跟用户谈需求做设计就是系统分析和设计了吗,国内又有几个公司能够做的很到位很规范?我是ISO9000内审员,也在Rational公司受过多次培训,拿了4个证书,还有一个公司让我去做CMM。这些我听过很多,但是很多事情到国内就变了性质,一个公司不是通过了ISO9000或者CMM就能规范了,我现在在一家有几十年历史的外企工作,里面的管理不是一般国内企业能及的。作为一个毕业不久以前没有步入过社会的学生,几乎不可能在很短的时间掌握系统分析和设计,面向对象、UML只是一个工具,关键是人本身的思想,不是说你熟悉了C++、Rose就能够做出好的设计,相反如果你具备了很高的素质,你可以用C写出比别人用C++更加模块化的程序。

话说远一些,国内软件开发行业有一个怪圈,很多人觉得VC > Delphi > VB,真是很搞笑。这几个软件我都做过开发,说白了他们都是工具,应该根据应用的需要选择采用哪个,而不是觉得哪个上层次。如果你因为用某个开发工具很有面子而选择的话,只能说明你很浅薄。如果说层次,那么这些工具都不上层次,因为它们用来用去都是一些系统的API,微软的朋友不会因为你记住他们多少个API或者多少个类就会觉得你很了不起,你永远只是他们的客户,他们看重的是你口袋里的银子。我也做过系统内核,我也封装过很多API,同样我也不会看重那些使用这些API做二次开发的客户,除非他能够作出自己独到的设计。

至于有人认为C++ > C那更是让人笑掉大牙,不妨你去打听一下,现在有几个操作系统内核是用C++写的,又有几个实时系统用的是C++,当然我也不是说C++不好,但是目前的内核和实时系统中C++还无法与C匹敌,至于说C++适合做应用系统的开发那是另外一回事。所以我的观点是不在于你用什么工具和语言,而在于你干什么工作。你的设计体现了你的技术层次。

这样干了一年我觉得非常苦闷,做的大多数都是熟练工种的活,个人技术上没有太多 的提高也看不到方向。所以决定离开这个城市去上海,寻求更好的发展,并且打算放弃我以前的MIS转到通信行业。

写到这里不能不提到我女朋友,我们是在来上海前半年认识的,她大四在我公司实习,公司派她给我写文档,我们的感情发展的很快。她告诉我很多事情,她家原本是改革开放的第一批暴发户,她母亲爱打牌,输掉了几百万,还欠了很多债,她有男朋友,但是她对他没有感情,只因为他给了她母亲两万多块钱,后来还强迫她写了四万块的借条,她男朋友背叛过她并且不止一次打她,现在逼她结婚不然就要她还钱。这人居然还是一个高校的老师!她母亲把父亲给她的学费花了,因为拖欠学费她没有办法拿到毕业证。她母亲现在有病需要钱,我拿出了自己的一点积蓄并且跟朋友们接了一些,替她交了学费并给她母亲看 病(后来才知道看病的钱又不知所终,就连她母亲是不是有病我都不知道,但她也是没有办法)。这个时候我家知道了一些事情,坚决反对我和她在一起,她原来的男朋友也极力破坏。无奈之下我们决定早一定离开这个伤心的城市,并且瞒着我们家。由于时间仓促,我只准备了4000块钱,她仅有的几百块钱也被她母亲要去了,我买了三张票,一张是中午的,两张是晚上的,中午我的家人把我送上船,他们一离开我就下了船,我和她乘坐晚上的船离开了这个我和她生活了很多年的城市,带走的只是一身债务。没有来过上海的我们两个性倔强,都不愿意去麻烦同学和朋友。来到上海是傍晚6点半,我们都不知道该去哪里,我们找了一个20块钱的旅馆,这个房间连窗户都没有,7月份的天气酷热难耐,房间里非常闷热。第二天我们开始租房子,因为身上的钱不多,我们基本都是步行,花了一个星期时间,不知道在浦东转了多少圈后找到了一个400块的房子,但是我们都不了解上海是付三压一,还要付半个月的中介费,买了一些锅碗瓢盆后,我们身上只有800块钱了,工作都还没有着落,这800块钱要支持到我们拿到第一个月工资,为了省钱我们自己做饭,每天买菜只花两块钱,她非常喜欢吃(也可能她在大学经常挨饿的愿意),看到她现在这样省吃俭用我真的很不忍心。她以前的男朋友也没有放过她,经常打电话来骚扰,并且来上海看她,还说了不少恐吓她的话,她过于善良,说他以前毕竟帮助过她,叫我不要与他一般见识。以后的每天在家就是苦等面试通知,原本我想迅速找一家MIS公司解决眼前的困难,但是她坚持让我不要放弃自己的理想,终于功夫不负有心人,我找到了一家通信公司,4000块的工资虽然赶不上MIS公司给我开出的价位,但也够在上海生存。她也找到了工作,第一天上班她哭了,这是她来上海第一次流泪,我心里很难受也很感动。
由于是全新的行业,我把自己降到了零点,我学的VC、Delphi、数据库派不上用场, 摆在我面前的是嵌入式、协议、信令一些我从未接触过的知识。我知道我没有退路,于是拼命的学习,我把自己当做一个应届毕业生一样,一分努力一分收获,半年过去我终于熟悉了工作,并且得到了公司的表彰,薪水也加了一级。后面的日子里我们省吃俭用,把欠朋友的1万多块钱还了,日子终于上了正轨。这时女朋友告诉我她想考研究生,我也很支持,于是她辞职在家备考。

另外,在这里我要感谢我的ProjectManager,他原来是一个大通信公司的产品经理, 对人非常和善,我从他那里学到了很多知识,而且他也给了我许许多多无私的帮助。在工作上他给我充分的空间和信任。记得公司安排我维护一个接入服务器软件,由于代码量不算太小(5万行),资料和文档都不齐全,我维护起来非常吃力,所以想重新把它做一遍, 公司领导不太支持,可能觉得工作量太大,但是他极力支持我,私下里他让我放手去做, 我的维护工作他挤时间做。在他的支持下,我花了半年时间完成了接入服务器的软件,并且实现了一个相对完整的TCP/IP协议栈。在这里我学会了嵌入式系统设计、驱动开发、TCP/IP和很多通信的知识,我花了一年时间终于使自己从MIS开发转到了通信行业,并且站稳了脚跟。我的开发大量是对硬件的直接操作,不再受微软的操作系统,VC、Delhpi这些开发工具的约束,我终于看到了另外一片天空。

我做事情喜欢追根问底,随着开发的深入,软件开发与硬件联系越来越紧密,硬件知 识的匮乏又对我的发展产生了障碍,而且芯片技术基本上掌握在国外公司的手里,这对做系统级设计是一个非常大的制约,一个新产品出来,第一道利润(也往往是最丰厚的利润)常常都被IC公司如Intel、Motorola赚去了,国内的厂商只能喝点汤。所以我决心解决自己的硬件技术障碍,并打算离开通信行业,进入IC设计相关领域。

当然我明白如果我对硬件了解的非常少,没有哪家IC公司会仁慈到招我这样一个一窍不通的人来培训。所以我必须努力打好基础,学一些相关知识为以后做准备。就像我开始从MIS转到通信一样,我看过大量通信方面的书,并且给一个ISP做过RADIUS计费分拣台,在这样的背景下这家通信公司才给了我这个机会。我在的通信公司是做系统设计的,有不少PCB Layout硬件人员,平常我就注意向他们学习,由于我做的是软件,在公司看硬件资料不好意思,所以开始只好在家看,刚来上海工作我连续一年都在加班,后来不加了,因为我要挤出时间学习,通常我12点左右睡,第二天5点半起,我上班比较早,地铁上如果人不多我也用来看书。学习当然不会是一帆风顺的,有些实在不懂的问题就积累起来问硬件人员,他们的帮助使我学习进度快了很多,因为在没有人点拨的情况下自学,我的一半时间是花在解决疑难问题上,但这种问题经常是别人的一句话就可以让我豁然开朗,我非常庆幸我有这样的学习环境。在后面的一年里,我学会了看硬件原理图,学会了简单的硬件设计(模拟电路方面还有不小的差距),事情就是这样的,当你安安份份做软件,别人永远认为你是软件开发人员,在你开始学习硬件时别人未必会认同,有位中兴通讯的朋友还对我说过,一个人不可能把所有东西都学完。我也明白这一点,但我希望自己做的更好。但当你熟悉硬件后大家又会觉得你好像原本就是软硬件都懂的,同事们也都习以为常了。这个时候我可以把硬件资料堂堂正正的拿到公司看,没有人再大惊小怪了。 让我比较自豪的是我通过自己的努力做了一个IAD(软交换的终端设备)系统方案,包含软硬件的选型、设计等内容,这个方案得到了公司和同事们的认同,让我感到非常欣慰。

技术是相辅相成的,当我的硬件有了一定的进步后,我的软件设计也有了很大的提高 ,我可以从更深层次理解问题,我做的接入服务器CPU是Motorola PowerPC860,熟悉的朋友都知道860 QMC与软件的批量数据传输通常采用BD表的方式,硬件人员做驱动的时候习惯采用固定BD表,每接收或发送数据都将数据从BD表拷贝到用户Buffer,或从用户Buffer拷贝到BD表,由于理解的比较深入,我自己重新实现了这个过程,采用动态BD表的方式,驱动从一个网口接收数据,提交给我的软件进行三层交换,直至从另外的接口发送出去,没有进行一次拷贝。这样的设计大大提高了性能,使系统的指标接近理论值。软硬件的结合使我的设计水平上了一个台阶。我现在写的这个操作系统,编译后我把程序反编译成汇编,找出其中不优化的代码,然后在C程序中进行调整。举个例子,很多CPU没有专门的乘法指令,这个大家应该都知道,在这种CPU上进行一个乘法操作常常会花费大量的指令周期, 有的朋友会说这个我知道,我会尽量避免采用×号,但是事情往往不是那么简单,你知道C语言中数组的下标操作是怎么实现的吗?仔细看看反汇编的代码你就会明白,同样是通过下标的定位操作,C编译器会有时候会产生位移指令,但有时候会用乘法实现,两者效率往往是天壤之别,所以明白这些问题你才能将系统性能提升到极致。一些问题就不多说了,有兴趣的话以后可以共同探讨。

话说远一点,我由衷的希望在软件上做的比较深入的朋友们有机会学学硬件以及其它 相关知识,尤其是做底层开发和嵌入式设计的。这对软件技术的提高有非常大的帮助,否则很多事情你只知道该这样但不会明白为什么该这样。我这个观点在我现在的IC公司Project Manager那里也得到了验证。他告诉我们公司现在的802.11芯片产品的软件经理原本是做该芯片硬件设计的,某某某原本是做软件的,现在在做IC,类似的例子还有很多,只是在国内这样的风气不是非常流行。

我有一些心得体会与大家分享,只有当我干好本职工作后,我才会学习与工作关系不 大的技术,这样公司的上司才不至于反感,在入门阶段的问题我通常不去问那些资深人士 ,而是问一些资历比较浅的朋友,比如刚毕业不久的学生,因为他们往往会跟你详细的讲解,而资深人士通常觉得你的问题太简单,所以回答的也很简单,我又不好意思多问。等技术上了一定的层次后我才会问他们,他们也能给你比较深入的回答。另外,有些朋友说我机会比较好,他们也希望能从事新的工作可惜没有机会,我听了只有苦笑,我的机会了解的人都应该知道,我没有出生在什么IT世家:)也没有谁一路提拔我,所有的路都是自己走出来的,我母亲去世比较早,我的后母(我叫她阿姨)看着我努力过来的,一次她看我大年30还在写程序,她说像我这样努力木头都能学出来。

我的最终目的是IC而不是PCB,所以我下一步的准备开始学习IC设计的知识。公司的同事没有懂IC设计的,后面的路又要靠自己了,我买了不少相关的书,在网上也查了很多的资料,我花了大量的时间去学习VHDL,并且用软件进行了一些简单的设计和仿真(没有设计ASIC,只是针对FPGA),随着学习的深入,我渐渐明白了IC设计的基本流程,同时也明白了这条路的艰辛。这个时候我已经做好了跳槽的准备,我向一家业界又一定知名度的IC设计公司投了简历,并通过了漫长的面试(4个多小时)。其他的一切我都比较满意,唯独薪资差强人意,我也明白原因,因为我是这个行业的新人,我没有经验,我再一次将自己清零了。公司老板问我6000多一个月能不能接受,我知道他也是照章办事。想想我通信行业的朋友们,基本上都是年薪10万以上,月薪过万的也比比皆是,朋友们也帮我介绍了不少待遇不错的公司,我该怎么选择,当时我很犹豫,我热爱我的事业,我向往我的追求, 但我也是一个普通的人,我也需要养家糊口,我也想早一点买房买车。生活给我出了一道难题。

爱因斯坦在63岁时说过“一个人没有在30岁以前达成科学上的最大成就,那他永远都不会有。”这句话给了我很大的压力和震动,我马上就26岁了,离30只有四年时间,我必须抓紧这几年宝贵的时间,努力达到我技术上的最高峰。为了这个理想,为了能离自己的梦更近一些,我选择了这家IC公司,我明白自己的薪资和公司刚进来的硕士研究生相差无几, 但为了今后的发展只能忍受,一切又得重新开始。换行业是一个非常痛苦的过程,尤其从一个春风得意的位置换到一个陌生的岗位,感觉像从温暖的被子里钻出来跳进冰水中,让人难以接受。在原来那家通信公司,我是唯一两年时间涨了五次工资的员工,公司和同事都给了我极大的认可,工作上也常常被委以重任。但现在这一切都成了过去,在新的公司我只是一个新人,没有人知道也没有人在意我过去的成绩。我决定重新开始,我把自己看作新毕业的学生,我要用自己的努力得到公司的认可。进入新的行业是非常痛苦的,我告诉自己必须忍受这一切,虽然外面有很多诱惑,但是既然作出了选择我就不允许自己轻易放弃。
我现在已经在这家新公司上了一个多月的班,开始非常艰难,现在慢慢适应了。第一 个月结束时,Team Leader找我谈话,说我是新进员工中最优秀的一个,我心里很欣慰,这也算对我努力的一个肯定吧。在这里还要感谢我的女朋友,她给了我很大的支持和鼓舞, 每次在我动摇的时候她都在鼓励我,让我坚持自己的理想,刚来上海是她让我不要勉强去做MIS,这次也是她让我顶住了月薪过万的诱惑,没有她我可能不会有今天的成绩。 现在的公司有自己的操作系统,自己的CPU、DSP和其它芯片,在这里我能学到世界上最先进的技术,我们的设计开发不再完全依赖别人的硬件和系统,这让我很开心。我打算等工作步入正轨后,全力学习新的知识,实现我的理想。

在后面的两年里我给自己定下了几个目标:

一.努力做好本职工作,在工作上得到公司和同事们的认同;

二.努力学习IC硬件设计知识,多向同事请教,并利用一切机会多实践;

三.实现我的实时操作系统的主要部分,完成TCP/IP协议栈模块,并免费发布源代码;

四.和我女朋友结婚并买一套小房子,这是最重要的,因为我明白事业是可以重来的,但是珍贵的感情很难失而复得。

在这里提一下我现在开发的操作系统,它是一个实时嵌入式系统,目前支持以下特性:

a.支持时间片轮转调度和基于优先级调度,最多64个优先级;

b.抢占式实时内核;

c.为了便于移植,主体用标准C实现;

d.汇编代码非常少,不到100行;

e.支持任务管理,各任务有独立的堆栈;

f. 进程同步和通信目前完成了Semaphore,Message Queue正在调试;

g.实现了定时系统调用;

h.可以在windows上仿真调试

我还打算下一步实现优先级反转保护,Event Flag,Data Pipe,内存管理(以前实现过)、驱动接口等。 在这之后我还会努力完善它,比如加入文件系统,协议栈、调试接口等。希望朋友们提出自己的意见和建议,在此不胜感激!


后记:

就像有的朋友说的,我的经历或许会给一些朋友产生误导,在这里我必须说明一下。 我来上海以前学习过于拼命,常常晚上只睡3个多小时,我身高1米71,那时只有108斤(我现在130多),家人也说我这样拼命活不过60岁,但是当时的我太固执,我对他们说只要能实现理想活50岁我就够了。那时的拼命使我的身体受到了影响,有一次早上突然腰肌剧痛难忍,痛的我倒在床上站不起来。虽然我现在已经比较注意,但有时候还会隐隐作痛。后来在女朋友说服了我,来上海以后我不再如此。我经常引用父亲的一句话“身体是革命的本钱”。

而且我也发现拼命不是办法,我可以熬一两个通宵,最多的一次我连续工作了三天三夜, 但是我半个月都没有恢复过来,这样是不是得不偿失?学习工作应该是一个长期的过程, 像马拉松而不是百米冲刺。我现在非常注意调整学习和工作的强度,我要保证每天尽量有相对充沛的精力,一些年轻的朋友觉得自己也应该拼命努力,这让我多少有些担心,如果我的故事能让你在学习工作上多一点兴趣,我会感到很开心,但如果误导了某些朋友,让你做一些不值得的付出,我会感到很内疚。

技术没有贵贱之分,我以前换行业是因为自己的兴趣所致,而不是对哪个行业有什么偏见。我希望我的经历不要给朋友一个错误的导向,觉得我始终向更高的技术发展。其实各行各业做到顶尖都是很困难的。话又说回来虽然技术没有贵贱,但是门槛是有高低的, 无论如何,做IC的门槛要比做网页的高,这一点无可否认。国家各种人才都是需要的,但是作为个人奋发向上的想法还是应该有的,努力在自己喜欢的行业上做的更好,而不应该停留在比较肤浅的层次上。

我是一个自己觉得比较有自知之明的人,或许我最大的优点就是知道自己有很多缺点 :)。我的故事中很多的曲折和错误都是由我的缺点造成的,希望大家用审慎的眼光看待我的经历,不要被我的“花言巧语”所迷惑。我学习有些随心所欲,这给我带来了无尽的麻烦,也大大阻碍的我的发展。记得我小时候成绩比较出色,但是后来学习严重偏科,导致我中学成绩一再滑坡,也没有考上什么好的学校,小时候的一个朋友,当时的成绩和我相仿,但是没有我这个缺点,她上了清华,后来在去了美国深造,在一个著名导师手下研究理论科学,这未尝不是一条更好的出路。另外我的学习方法也是在不断改善中的,过去 的学习过于讲究数量和时间,那样学习既苦而已效率不高,现在我非常注意学习的效率和技巧,这样才是学习的捷径(当然不是指投机取巧),比如说学一相对陌生的技术,如果有条件,不妨问一问有经验的人,不需要问很多,往往他不经意的几句话会给你非常大的帮助,甚至超过你看一个星期的书。带着这样的思想再去学习你会节省很多时间,这样何乐不为呢?这些年中我学了不少的东西,由于开始非常盲目,所以学的东西杂乱无章,现在回想起来让我啼笑皆非,我把大量的时间浪费在一些没有必要深入了解的知识上,毕竟一个人的精力是有限度的。很多朋友很我一样都背过五笔字形,的确它是个不错的输入法,但是对一个研发人员它绝对不值得你去背,你的时间应该花在有价值的地方。我这样的事情还做过很多,我背过CCED、WPS的命令和快捷键,在dBase基本退出历史舞台后我还花了很多时间去学习它的使用。所以我的学习在前期缺乏规划,没有明确的短期目的、中期目标,只有一个虚无飘渺的长期的理想。这就像做设计一样,好的设计是从需求抽象到代码有很多过程,而不能得到了需求就立刻开始编码。

 

 

前段时间处理了很多事情,一直没有写下去,花光了所有的积蓄买了一套房子,同时把户口的事情也基本办完了,这几天稍微缓口气。昨天跟我的一个老上司见面聊了半天,心里感慨万千。他从外在条件看让不少外人羡慕,二十多岁做过到了863项目的负责人,博士毕业的爱人单位也非常好。现在三十出头的他在一个通信公司做产品经理,工资虽然不算高但也有一两万,而且还持有股份。但是我们了解的人才理解他的艰辛。“白领”这个词在一些人看来是仿佛是一个动人的光环,但是在我看来是一个无奈的名字,每天行走在大街上,来来往往的车流中有多少是“白领”的?又有几个“白领”住的起高档的住宅?在上海一套别墅300万不足为奇,按揭贷款下来总额接近600万,年薪二十万在上海算是一个中高级“白领”,高额的税金去掉了你百分之几十的收入后,这样算下来不吃不喝也要四十多年,加上生活的其他开支,注定了你与这样的住宅无缘。看着外面一套套别墅,一辆辆好车,我不知道它们是谁的,但我知道其中没有什么白领。我觉得自己很渺小,在这个喧闹的都市中我如同一只蚂蚁,但我有不甘于平凡,我不愿做一个单纯的“白领”。

  其实很多朋友并不了解我,我不是一个追逐时尚技术的人,我只是不愿意做一个所谓的“白领”,更加不愿意做一个单纯的“程序员”。我不甘愿平凡的生活一辈子。我在不断的努力,我的方向非常明确,我要做多数人不做和做不到的事情,很多朋友对我这样频繁的换方向不理解,觉得一个人只要熟悉一种技术就可以了,对于这样的看法我只能说你浅薄,现在的大的系统和产品往往都是软件、硬件和应用相结合的,我要做的不是哪个方面的专家,而是希望能够成为系统设计师。我不相信一个只精通发动机的专家能够设计一辆好车,同样我也不相信对硬件一窍不通的人能做出一个操作系统,或者一个对财会没有一点概念的人能设计出一个优秀的财务软件。在工作中我发现社会上非常缺乏边缘人才,尤其是在国内。在国外一个人软硬件兼修非常普遍。如果设计产品的人只了解他的专业那么是很难有出色的设计。所以我必须趁着自己年轻学的更加广泛一些,这样才能提高自己的综合素质,这也是为什么高校那么多非专业课程。学习工作了这些年,实际上都没有脱离IT这个行业,我现在的公司开发一个系统时,先是将最终功能列举清楚并分析可行性,然后划分哪些是用芯片实现,哪些是用硬件电路实现,哪些是用软件实现,这样的设计才能做出最好的系统。如果一个设计者单纯只懂一个方面是不可能做到这一点的。

  自负常常伴随着无知,记得我大学毕业时,论文答辩会上我和专家组组长争起来了,因为我对自己的设计非常得意,而他虽然是鸡蛋里挑骨头,但是由于知识非常有限,我无法回答他的问题,所以有些“恼羞成怒”。我原来一直喜欢用“所谓”最好的开发工具,记得做过一个愚蠢的设计,一个排课表的软件我用VC+Oracle开发。这些经历我牢记在心,时刻提醒自己学会谦虚。我的亲身经历加上我对一些身边朋友的观察发现这样一个现象。当一个人只会他认为最好的技术,而对其他的一无所知,这样的人经常是目空一切。
从第一个“Hello World”到今天的操作系统,前前后后写了很多代码,从这中间我也积累了很多心得。由于我是在没有人指导的情况下自学编码的,所以走了很多弯路,也犯了不少错误。最初我写程序全凭自己的感觉,写一个新程序对结构设计不很重视,以为学好语言,数据结构就可以写出好的程序,其实远不是这样的。没有设计的情况下,也可以写,但是程序无法写的很大、很复杂。我个人的经验是这样的系统超过8000行我就无法控制了,以前我用VC写过一个Windows下的应用程序,大概8000行左右我对它失去了控制,整个代码一团糟,这8000行倒是可以相对稳定的运行,但是我没有能力再增加什么新的代码,动辄前后冲突,要么就是新代码与旧设计格格不入,需要调整旧的程序。最开始我写程序喜欢追求代码的精巧,别人很多行写出来的代码自己只写很少就可以实现,感觉那样比较酷。其实这样也是非常错误的,我现在写程序非常注重结构设计,为了结构清晰我愿意牺牲一点效率。

  下面一段话是我写程序的座右铭,希望与大家共勉:

  Make it right before you make it faster.
  Keep it right when you make it faster.
  Make it clear before you make it faster.
  Do not sacrifice clarity for small gains in efficiency.
  Brian Kernighan

  另外补充一点:我和我的女朋友现在非常好,双方的家人都认可了,我们决定在近期结婚。