大公司的硬件研发分工非常细致。每个员工都是螺丝钉。每个员工都是忙自己的一小点,感觉对产品就是盲人摸象。
大公司的硬件工程师:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
小公司的硬件工程师:
小公司的硬件工程师几乎一直是没有什么分工。硬件开发人员往往什么都自己做,从器件选型测试,到原理图设计,PCB,FPGA自己搞,电源自己选,加工自己去生产线跑,测试自己做,测试工具也自己搞,有时候开局维护手册也自己写,忙得不亦乐乎。
但是,产品做完了发到市场上,发现才是灾难的开始:
电源一打雷就容易断掉,半天查不出来;来料出了批次问题,定位很花时间;同样的功能与其他产品不同,发现是FPGA设计抄过来改错了;产品到到现场,发现测试考虑不全面;发到韩国测试才听说有个叫EMC的标准,结果从整体到拉手条到电路都要改。
小公司讲究的是:“小快灵,单兵作战能力强”,大公司强调的是:“组织的积累,军团作战的攻坚能力。”
其实每一块水都很深,就像电源的防雷击电路,一个专门的团队拿出各种专业仪器反复测试了很长时间才搞定,给出了推荐方案,虽然最后的方案看起来也不复杂,但是准业余人员是很难搞出来的。
一个防雷的方案,对于一个大公司的安规、EMC工程师来说,是大量的时间精耕细作,每个器件、每个参数的都经过细致分析和严格的试验。而一些小公司往往没有资源和成本去完成相关的积累。
在大公司,这些专业的领域,如果有专门的组织和人员保证,各个产品都可以共享,才可能达到质量和效率的同步提高。华为这样的公司除了有硬件部,下面还有细分的逻辑部、时钟部,了电源设计部、可靠性设计部等等部门。类似于华为这样的大型的企业的交付质量还是非常有积累的。
像国外的大公司,例如思科,普通开发人员的经验远高于华为,技能比较全面,因此分工没有华为这么细。而国外有些小公司,产品应用面没有华为这么大,因此对于可靠性、稳定性等方面的测试,没有华为这么细,有时候是采用迭代的方式开发,同样可以做出非常高可靠性的东西。 华为通过更精细的分工来弥补人员能力的不足,通过更强的流程管理来确保密切的配合。
但是国内的小公司,需要时间和资源去沉淀。主管和老板们有意识的积累和培养组织的能力。而不是依靠几个顶尖高手的单兵作战能力,那没这样的小公司仍然非常有战斗力。
【大公司的硬件工程师是不是废材?】
大公司的硬件工程师绝对不是废材。以前我刚到华为公司上班的时候,就有一个同事问我:听说你们硬件工程师不怎么要做事情,电路都是用通用模块,电源有电源部帮你搞定,PCB设计有互连部门来搞定,底层软件由驱动部门搞定了,搞不定问题一个电话打到厂家,FAE就上门服务了。
大公司的硬件工程师能拿那么高的收入,且招聘要求也高,逻辑推理出来也一定不是“废材”。
1、精力更集中
大公司的硬件工程师,正是因为有职能部门的人把一些琐碎、机械的工作做了之后,更多精力放在如何解决问题本身。比如,器件选型、系统架构设计、硬件问题的解决,或者有精力做某个单项技术的研究:逻辑、电源、内存、时钟等等维度。或者一些专门维护工程师,长时间解决维护问题,对生产、工艺、EMC、问题记录、定位,DFx设计(特别是可靠性、可维护性、可维修性设计等维度)有长时间持续的积累。所以很容易成长成技术专家。
但是,人也是分类的,有的硬件工程师理解信号完整性比PCB工程师还要深刻,有的硬件工程师完全依赖别人,除了问题就容易抓瞎。
2、可以做更复杂的系统
正是由于分工细致,所以在做复杂的硬件系统的时候,对于电路板的把控更细致。如果一个人要管芯片选型、绘制原理图、写Verilog、数据流、软件驱动、业务模型、还要PCB设计、结构设计、热设计、EMC等等。很难在进度要求之内完成任务,并且由于思路不停的切换,也很容易犯错。
但是如果分工细致,并且有人抓总的话,大家可以专注于自身的技术领域,更有效的保障交付质量和交付周期。
3、做事情更规范
因为大公司在销售端有完整的销售渠道,所以在产品定义的时候,就考虑到一些海量发货的场景、考虑到销售到海外的场景、远程维护的场景。并且需要在可靠性设计的时候,考虑到故障率、返还率等等。
所以大公司做的产品,特别是硬件产品,就是高举高打。一次性把事情做对,把问题留在公司内部。这些方面做的都比较优秀。因为包括测试、系统集成验证、可靠性试验等等都是按照套路,成熟路径,严格要求的。
相对小公司就没有这样的战略纵深把这些事情做到位。
4、有局限性
正是由于分工比较细,导致大公司的硬件工程师懂得多,但是很多工具不熟练,当独自面对项目交付的时候,发觉自己很想一个螺丝钉。
在华为我是一颗螺丝钉,离开华为我只能拧拧螺丝
由于项目的切割人的分工,并且流程要求每个节点的关键动作,导致执行层的工程师越来越不需要很高的水平,也不需要很高的思考。如果自己对自己没有要求,确实也很容易只能在这个平台存活。