在华为我是一颗螺丝钉,离开华为我只能拧拧螺丝

来源:安全

http://mp.weixin.qq.com/s?__biz=MzI0OTA5MjU0MA==&mid=2654481019&idx=1&sn=03eb0ea7d13c1c784a4beea82fc9db1e&scene=23&srcid=05109SbF94dltQzXBkDBkjjR#rd
服务器


前两天,在拧螺丝的时候,深感创业之艰难,项目交付只辛苦。因而调侃本身在朋友圈发了这么一句话,引发你们的热议。分布式

不少朋友也来调侃我,说是螺丝钉升级成为螺丝刀。其实我并非这个意思,而是表达一种“技能”和环境的缺失。模块化

在相似于华为这样的大企业,其实你们都是工业社会的一个流水线的一个环节,如同一个高速运起色器的一个螺丝钉。工具


一、大公司硬件人员的技能缺失网站

刚进华为时,就被一个前同事说:“你怎么在华为搞硬件?好像没啥意思,PCB有专门的人layout、EMC有专门的人、连电源都是模块化设计,还有电源部的人支持,逻辑也是逻辑部的人写的”。spa

可是,我却是不觉得然,每一个环节,虽然不是直接去作的,可是硬件人员做为整个项目的轴心,仍是能够去掌控结果,任何一个环节的问题,都会有涉及,因此只要你有心去深刻钻研,仍是能够达到必定深度的。设计

可是这里面存在两个问题:版本控制

第1、虽然硬件人员能够去涉及,可是具体的操做,每每仍是相关领域的人去操做的。因此会致使,原理你能够比较清楚,可是工具、你可能并不熟悉操做。例如,PCB绘图工具、结构的设计工具、仿真的工具、热设计的工具等等等等,在大公司里面,你都是依赖专业人士去操做和保障的。硬件人员,或者业务部门能够去提出各类需求,可是没有进行实操。调试

因此华为离职的硬件工程师,每每连PCB绘图工具都不熟练。

这种状况,当你离开这个温房同样的环境的时候,你就会发现捉襟见肘。

第2、大公司,每每知识是割裂的,分工很细。你企图去深刻其余领域的工做,其实因为信息安全,保密等缘由,你是很难去深刻别的领域的工做的。例如,你是一个嵌入式软件的人员,你能够掌握代码,可是你没有机会去看原理图和PCB,你看到的是《软硬件接口文档》;除了掌握本身的代码,更多的须要沟通的技能。

曾经,在华为时,有一个KVM的板卡,硬件人员开发完成以后,里面的视频压缩、以及合成、传输的代码,这块的代码本部门没有;做为一个但愿产品化的产品,这块内容相对比较复杂,短期靠自身力量去完成,是有困难的。其实其余部门就有相关的代码,领导也比较有狼性,去交涉,但愿可以获取代码;可是对方就是说:“不给,你咬我啊?”,大领导的意思:也是大家各司其职,不要越界。因而只好项目终止了。能够看到大公司里面的部门墙仍是很严重的。

还有一个案例,当时在调试多核PowerPC,也是部门第一次的使用多核PowerPC,相对没有经验。可是底层软件安排的人技能不足,回板后,几周毫无进展。可是硬件人提出,咱们来一块儿看代码,底软的负责人是反对的,两个意思:大家也不懂,看啥?   按照公司规定,是不能给大家看的。

后来,一个底软高手作其余项目,也用同款处理器,看看咱们项目迟迟没有进展,就一块儿来讨论。结果,刚讨论5分钟,就知道启动地址的配置都不对,如何能启动?


二、流程:有流程的时候是负累,没有的时候是渴望

在华为时,硬件人员常常须要走的流程是PDM,俗称:“爬的慢”。你须要建一个元器件库,引入一个新器件,更改一个生产的细节,都须要走这个流程。在里面的时候,你会以为,好负担。

可是,当你离开这些“负担”的时候,以为“裸奔”好轻松啊,但是,裸奔的问题就会接踵而至:

PCB厂家加工的版本,跟你投板的版本,怎么会有出入?封装怎么会有这么低级的错误?PCB封装怎么会作错的这么低级?你选择的器件,怎么会有可靠性的问题?(在华为,新器件引入都须要作可靠性评估)新器件,怎么会采购价这么高,大批量也没有降价的空间?

新员工建封装库的时候,太随意,等你看到结果的时候,发现:封装又错误、命名也是混乱的。连1脚都没有标注,工厂都不知道怎么焊接。。。。


三、华为研发的成功的一个关键因素:组织的积累

小公司开发的时候,比较依赖研发人员的基本素质,和水平的高低。核心骨干,显得特别的重要;而华为开发,不太依赖是谁开发,高手和新手,在这个研发体系,开发出来的差距不会特别的大(固然也会有差别):

元器件库是现成的;大量的可参考设计;大量的规范;大量的案例库;讨论群交流;论坛分享,求助;各个领域的专家资源保证。

这种组织的积累,是长时间的律动,项目总结、案例分享、持续改进、积累下来的书面化的财富。

而在小公司,因为附加值低,利润薄,研发人员疲于奔命,老板再没有追求,很容易,致使没有总结和积累。犯过的错误,重复犯,持续犯。

虽然,咱们这些已经离开华为的,知道华为的这些作法是好的,可是,因为从零开始,也没有积累,即便本身肚子里面有不少案例,因为没有书面化,或者没有时间和机会书面化,并不能有效传递给其余同事。不可避免在初创团队,犯同样的错误。

一些华为离职的朋友,在作咨询,每每给社会上企业传递的是一些方法,而这些企业指望获得的是成品,现成的流程、案例库、规范。这样更短平快一些。


四、脱离品牌作硬件,你须要低成本交付的技能

华为已经积累了品牌,尤为是近几年,在手机市场有所斩获,品牌效应仍是不错的。有了品牌以后,就不用再价格战上面厮杀。而且,其产量大,供应链稳定,得到低成本的途径和方法也比较多。

可是,对于初创团队来讲,低成本,主要是依赖设计水平。因为华为虽然追求低成本,可是华为出身的工程师,未必具备特别强的低成本技能,由于原来环境太优越了。跟不少处于生死线上的小公司比,其实华为工程师未必具备特别强的低成本设计能力。

在没有品牌的时候,低成本设计仍是一项很重要的技能的。


五、习惯与以客户为中心,缺少市场洞察力和产品定义能力

曾经拿着一份商业计划书,去见一位华为背景的投资人,对方问了团队状况,发现都是华为的,说了一句:“华为出身的人,作事很认真,可是没有惊喜,大家团队须要找一个阿里或者腾讯出来的人”。我反思这件事,其实说明华为背景的人,在产品思考上面是缺失的。

在华为,当工程师,在培养的是:项目交付,产品质量,知足客户需求,完成领导安排的任务。同时间,相同优秀的人,在阿里和腾讯,正在培养的技能是:思考咱们应该作什么样的产品。


其实,以上说的问题,并不仅是华为工程师离职以后去创业可能会碰到的问题,而是全部原来在打工,如今白手起家去创业,或者加入初创公司,面临的问题。因此,硬件十万个为何,但愿可以为你们多作一些,把一些共性的事情,可以你们作了以后在这个平台分享出来,省得你们都走一样的弯路,形成社会资源的浪费。

每一个工程师都想作Linus同样,可以经过群体的力量,作一件Linux这样伟大牛逼的事情。可是,基于Linus超强的能力,和一个核心团体无私的奉献。

六、在新创业时代,须要超强的我的能力

不少人都知道,Linus在1991年建立了开源的Linux,今后,Linux系统不断发展,已经成为最大的服务器系统软件了。

Linus虽然建立了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?

事实是,在2002年之前,世界各地的志愿者把源代码文件经过diff的方式发给Linus,而后由Linus本人经过手工方式合并代码!

你也许会想,为何Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?由于Linus坚决地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,并且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续经过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,因而Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,受权Linux社区无偿使用这个版本控制系统。

安定团结的大好局面在2005年就被打破了,缘由是Linux社区牛人汇集,难免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不仅他一个),被BitMover公司发现了(监控工做作得不错!),因而BitMover公司怒了,要收回Linux社区的无偿使用权。

Linus能够向BitMover公司道个歉,保证之后严格管教弟兄们,嗯,这是不可能的。实际状况是这样的:

Linus花了两周时间本身用C写了一个分布式版本控制系统,这就是Git!一个月以内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?你们能够体会一下。

Git迅速成为最流行的分布式版本控制系统,尤为是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

历史就是这么偶然,若是不是当年BitMover公司威胁Linux社区,可能如今咱们就没有免费而超级好用的Git了。

而咱们大多数成长于华为这样的大公司,技能被割裂的很严重,离开平台每每不会作事。因此,咱们但愿把初创企业作成功,须要有超级工程师的技能。这个就须要咱们格外的努力,才有可能成为Linus这样神同样人物,只有这样的技术人员才有可能撼动巨头公司,带来革命性的技术。