华为硬件开发的秘密武器——知识管理篇

发表时间: 2020-03-16 20:04

电子硬件知识是极其庞杂的,每一个细分领域都可以钻研很深,可以成为某一个人的一辈子的工作,例如EMC工程师,互连工程师,电源工程师,可编程逻辑工程师……电源工程师又可以细分:一次电源、二次电源……分别作为职业。

在硬件领域,由于大量的知识是隐形知识,如果只知道书上写的那些东西,是不能成为一个合格的硬件工程师的。就是因为知识体系的庞大,加上隐形知识众多,所以硬件工程师的知识体系是庞大的。是需要管理的。

这位网友的观点:“既然无法分类,那么就不要分类,我们依赖搜索。”


以下是我本人观点:

知识多了还是要整理的,靠搜索不行;

如果你收录到本地的一些知识,如果不整理的话,那么不能建立起你的知识体系,也就是说你对哪一块,需要重点掌握,哪块只需要了解,没有概念;而你常用的工具或知识跟你不常用的工具和知识,查找需要的时间是相同的;当你学习某一项知识时,这个知识点与其他的知识点之间是没有关联的,因为你没有把知识系列化,或者没有做整合。

如果你的硬盘一样,经常看的影片,你应该需要有快速找到它的途径;而不常看的,你是不是只需要保留个种子;而从来不看的,或者只会看一遍的,变态的、难看的、不清晰的,你其实都可以删除。

上图是我整理的硬件工程师所处的一个地位,同时也是一个硬件工程师所需要的知识领域;

有句话说:“硬件就是连连线,软件就是敲敲键”。可就是连连线,所需要考虑的因素非常多,在大公司的话需要打交道的人也非常多。

上图画了一个车的形状,硬件工程师是这个车的主体,电源、逻辑、互连是硬件工程师密不可分的组成部分,是硬件这辆车前进的必备条件(一些小项目,或者一些公司并不做这样拆分。)

最下面一条是支撑合格车前进的道路,是支撑这辆车能够前进的必备条件。这些领域的知识是硬件工程师必备的,例如:生产跟线,器件sourcing、器件失效分析,这些事情即使是在人员拆分很细的大公司,硬件工程师仍然是这些事务的责任主体;而一些公司,没有相关领域的人,就是硬件工程师自己去做的。

车头是系统设计和产品设计,这些引领硬件方向的思考也是硬件工程师必须要考虑的,因为你不理解业务和产品的场景,又如何选一款适合的处理器?如何知道内存需要多少带宽和速率?

以前我经常说,硬件工程师,如果一个装修工程的木工兼包工头,是整个装修的灵魂,决定了项目的水平高低。所以硬件工程在自身电子领域的知识积累之外,还需要积累一些其他领域的知识,所以这块外围的知识掌握的程度是需要跟核心知识体系进行区分的。因为一个人的时间和精力有限,不可能掌握所有的知识,但也不能完全不懂。

知识管理不只是知识分类和整理;

首先,知识管理不只是罗列目录,他必须是有内容的,也就是大家常常说的,必须是有“干货”;一个再完善和再完整的知识框架的目录,都是没有用的,如同一个列的非常完整的AV女优的文件夹分类都是没有用的,因为你只需要找到你最需要的那部。如果文件夹都是空的,那就更没用了。

而且我也觉得知识管理,必须是目标为导向。不能为了整理而整理。所以这个知识体系的目录,我倡导是先有问题点或者知识点,积累到一定数量之后,形成你最需要的一个知识体系。

如同,你先有N部你经常观赏的片,然后再进行分类整理。而不是你先去建立一堆空的文件夹。

例如上图中,进入了一个学习,利用,创新,积累,共享的一个有效循环。

那么,我说说《硬件十万个为什么》的由来,我当年刚进入华为时,在华为的导师是一个项目经理,也就是我主管的主管。他很忙,但是他也很有责任心。没太多时间辅导我,他想出了一个办法:让我每周给他提3个问题,他一定会安排在周五给我解答;我有时为了给他提问也比较费尽脑筋,因为不可能提一些太低级的问题;因为我提问也不是那么好回答,他也要花一些时间去学习,并仔细的答复。我觉得试用期间,这个“每周三问”对我深入掌握一些单点知识非常有效。等我带新员工的时候,正值华为大发展,我一个项目组里面17个人,有4个老员工,其他都是新员工,根本没法一对一辅导。我当时就用了“每周三问”这个办法,这个办法很有效:第一、强迫新员工思考问题;第二、新员工碰到障碍,有地方可以提问;第三、面对新员工各式各样的问题,老员工为了回答也需要提高和学习。

慢慢的,新员工成长起来了,问题也没有那么好回答;我就不再区分新员工和老员工,大家都可以问问题,轮流来回答问题,自然轮到回答问题那位同学非常的痛苦,工作上进行调整,预留一些时间。

后来我发现:为什么不能把我们的问题都整理到一起?当我把每周的问题整理到一起17个人,一周3问题,总共是51个问题;我们坚持了半年(后来我调到市场部门去锻炼,所以后来没有坚持下来);总共大约1000个问题积累下来,知识领域涵盖硬件的各种领域:电源、时钟、处理器、逻辑、电平标准、接口协议……

当我把问题分门别类整理出来时,反向生成目录,一个大惊喜:一个完整的硬件工程师的知识体系完整的呈现在我的面前。

但是一个很有意思的情况,就是往往在华为内部的技术论坛搜索硬件问题,往往就会搜索到我们整理的这个文档,因为大家碰到的问题往往都是类似的。

所以一句广告词说明了知识管理的真谛:“重要的不是拥有一切,而是需要的就在手边”。我们不只是需要一个完整的知识框架的概念,我们最需要能解决我们现实的问题。

《硬件十万个为什么》虽然积累了相当多的问题,但是这些问题哪怕再全,仍然是碎片化的。它虽然能解决一些具体的问题,但是不能形成知识框架。

经典教材和原理知识,需要系统化;

还在华为时,我曾经尝试过,整理出《硬件的十八般武艺》,涵盖硬件工程师必备技能,分别由大家一起参与,完成基础知识的一些系统化的培训材料:电源、时钟、处理器、高速互连、分立器件、JTAG、内存……..基础知识的系统化,完备的掌握,是必须的,否则你无法完成你的工作,更无法说出色完成工作了。

如同AV有句名言:“为人不识武藤兰,看遍毛片也枉然”。所以一些基础知识是必备的,否则你连“骑兵”“步兵”的含义都不懂,又如何去准确的下片?

这些材料,当时完成了一部分吧,后来也因为工作变化,直到我离开华为时,还没有全部完成。后续我希望能通过不停的线下活动,把这一块逐步完善,能够把系统化的基础知识培训,逐步社会化。

另外,说一句:培训和教材,要分“入门”和“提高”;要分别针对不同的层次的需求。我现在有时搞一些《硬件十万个为什么》的线下活动,因为是社会化的,所以有时为了照顾各个层次的诉求,往往也很纠结。