技术积累
我们现在已经拥有很强大知识搜索和总结工具了,你可以用chatgpt、kimi、豆包等工具快速搜索到代码模块、问题总结;你也可以通过B站快速找到好听又好玩的基础课程;你还能利用各种电子书工具和专业网站找到各种专业书籍,去图书馆翻书查文献好像都是史前时代的事了。我们获得信息似乎越来越“轻而易举”,而信息也似乎变得越来越“廉价”。但信息不是知识,信息也不是经验,信息更不是能力。大量信息噪音会让你迷茫,更会让你退化,丧失辨伪、归纳、提炼等核心的思辨能力。想在一个快速发展的技术方向上积累技术、做好产品,我们还是需要坚持“学习、解构、验证、总结"这样的标准动作。
1、在一个技术点上“日积月累”的价值
十六年前,在之前的公司做过一个技术模块,是交换机产品的PoE(Power over Ethernet)模块,即以太网供电模块,通过网线实现网络设备之间按照协议供电和受电。我很幸运,那时正好是网络设备供电能力从15.4W的行业标准(IEEE 802.3af)切换到30W的行业标准(IEEE 802.3at),随着IP电话、网络摄像机、WiFi AP等设备的大量应用,这个技术普及很快。后来,有幸依托公司的平台,我参与了802.3bt标准的制定工作,这也让我受益匪浅。在这个过程中,我深深体会到“日积月累”的重大价值。
2008年:新员工阶段接手PoE DIMM条(当时很多PoE产品是DIMM条+底板的实现方式),由于底板没有缓启电路设计导致插拔DIMM条频繁烧板,当时通过空开上电实验复现问题,轻而易举就能制造出芯片鼓包、烧毁、炸裂等现象。正逢过年前,坐在边上一个做时钟模块的兄弟说"还是你做PoE好玩,过春节都不用自己买烟火了"。因为这句话,我和记恨他了很久很久。
2009年~2010年:首战及爆雷,开局出现重大质量问题,去现场的兄弟电话会议中很绝望的炮轰我,说此问题有两个神奇的现象,第一、问题集中在女生宿舍爆发;第二、30米的网线拉直后无法供电、网线卷起来后问题解决了。由于这个兄弟每次开会都强调这两点,还总要求我解释原因,我和他记仇了很久很久。
项目做成这样,自己也不指望再有机会做别的单板了,我就安安心心去收拾残局。当时整个部门有两部可以直拨外线的电话座机,我的桌前有一部,因为现网问题太多了,都要电话联系。也就是那时开始,我形成了踏踏实实做积累的习惯,当时总结的范围包括。
问题案例总结:我一边不断解决实验室问题、生产问题、网上问题,一边把遇到的问题都拆解成技术点,总结成文档。比如实验室里如何通过调整BOM,满足测试仪器的一项测试;如何优化调整电路设计,实现一个防雷等级的规格要求;网上如果遇到无法供电,如何通过寄存器判断问题原因;遇到和友商的设备对接,如何实现协议互通。后来遇到了同类问题,我就把写好的总结发出去,渐渐地,找我的人就越来越少了。
测试规范总结:当时写了一份《PoE标准测试规范》,先总结怎么测,才能知道怎么开发。为了这个文档有足够的权威性,我当时和六个主流的芯片供应商申请了demo板,芯片的每个功能、主要寄存器的状态、制造故障后芯片表现等等,都做了测试。2009年十一假期,每天都去公司实验室测试。后来练就了一个本领,把网线拨开(我有同事可以不用剪刀,全靠雪白的牙齿完成),PoE的-48V和GND接上示波器,通过示波器波测试的Power on阶段的检测和分级波形就能判断是那家供应商的芯片。
标准学习:当时经常约供应商来做技术交流,后来发现老外特别喜欢引用IEEE标准进行抗辩,证明他们产品的芯片没有问题,非常完美。为了提升自己的技术争论能力,就去啃标准,后来都能背出好多标准里的英文段落,那时觉得看标准好费劲啊,在公司打印了一份背在身上,有空就读。
2012年~2016年:坚持不懈地积累,持续解决产品问题,到这个阶段产品的质量已经稳定,实现海量发货了。在这个阶段,开始考虑更多的产品设计的问题了,开始做更深入的知识储备和积累,包括
技术发展历史和市场应用:回顾PoE技术发展历史、参考研报分析市场容量和市场格局。
行业现状分析:分析市场主要玩家,通过官网的信息、和供应商交流信息等分析主要设备供应商的产品定义逻辑。对各个供应商的市场占有率进行分析,特别是对思科这样的垄断企业进行专项分析。
标准和专利分析:当时把所有搜索到的专利进行了分析,在300多篇专利中筛选出几十篇最有价值的专利,进行详细阅读,我们有个同事甚至把这些专利按作者、公司、技术方向等要素进行总结归纳,然后参考这个辅助我们判断其他公司的产品设计方向。
2012年IEEE开始制定功率等级更高的PoE标准802.3bt时,我们也借助公司的平台参与其中,有了上面这些积累我们心里也有底了,敢于面对面和思科这样的公司过过招。后来离开公司,清理电脑时,命名“PoE技术”的文件夹占了个20G,满满的不舍,这些都是一点点攒起来的。正是这样持续的“日积月累”,我们从“菜鸟”变成了“专家”,从开始被国产FAE气势碾压到后来和国外行业大佬斗志斗勇,我们也看着产品从首个发货局点爆雷到后来成为标配模块。不管是我个人还是其他做这个技术的小伙伴都在其中受益匪浅。
“积累”就和爬山一样,登山时觉得脚下的路崎岖不平,整个人气喘吁吁,忽然间回头望去,背后风光无限。
郭靖和杨康是《射雕英雄传》中的两位重要人物,他们的成长之路在很多方面形成了鲜明的对比,而这些对比也揭示了他们不同的人生轨迹和最终命运。
① 明确目标与成长方向郭靖:郭靖的成长从一开始就有一个明确的目标,那就是成为像父亲一样的侠义之士。他在父亲的仇恨与母亲的教导下,明确了为家国、为朋友而战的目标。这种目标感引导他在武学和人格上的不断提升,尽管他天资愚钝,但他坚韧不拔、踏实勤奋,始终坚持自己的理想。
杨康:相较之下,杨康的成长路径受到更多环境和权力欲望的影响。他自小被养在王府,生活在富贵之中,逐渐迷失了对正义和原则的追求。他缺乏明确的正向目标,更多的是追求享乐与权力,因此在道德和心理上都没有形成稳定的价值体系,最终走向了堕落。
②日积月累与能力提升郭靖:郭靖的成长过程非常强调“日积月累”。他师从江南七怪和马钰,虽然起步较慢,但他始终勤奋不辍,逐步掌握了扎实的基本功。后来,他遇到了洪七公和黄蓉的指点,在实践中不断验证和提升自己,最终在华山论剑中一展拳脚。郭靖的成功在于他对武学的不断解构、实践、总结,正如你文章中提到的技术积累,这是一条稳步向上的成长之路。
杨康:杨康的成长则相对表面化,虽然他有着不凡的天赋,但他更多依赖于外界的权势和阴谋,没有真正花时间和精力去积累和提升自己的能力。他凭借聪明才智快速获取了一些技巧,但没有经过深度实践和反思,这使得他在关键时刻无法应对真正的挑战。杨康的失败反映了缺乏积累和深度的成长之路的脆弱性。
③ 实践与验证郭靖:郭靖在成长过程中不断通过实践来验证和提升自己的武学和人生观。每一次战斗,每一次经历,都是他磨练自己的机会。他一步步在实际中检验自己的积累,逐渐提升自己的能力和人格魅力。
杨康:杨康则更多依赖于阴谋和权势,而缺乏真正的实践来磨练自己的意志和能力。他的成长过程中缺少实践的积累和反思,导致他的能力和品格都无法经受住考验。
④总结与分享郭靖:郭靖在成长过程中不仅不断总结自己的经验,还愿意将这些经验传授给他人。他的侠义精神使他成为了后辈的楷模,他的成长和积累不仅成就了自己,也造福了他人。
杨康:杨康在成长过程中缺乏对自我反思和总结,更不用说将经验分享给他人。他的成长路径更多的是孤立和封闭的,最终也没有为他人带来正面的影响。
2、如何做技术积累
(1)明确目标先要明确自己想要积累哪方面的知识和技术,是学习编程、学习语言学、学习营销,还是其他特定领域。确定清晰的目标有助于集中精力和资源,不要贪多,范围小才能做的扎实。(2)制定计划根据目标制定学习计划,必须将大目标分解成小目标,再把小目标分解成阶段性目标,并为每个阶段设定合理的时间节点。比如,在学习Python语言编程时,可以先设定在半个月内掌握基础语法,然后在1个月内能够运用基本的数据结构和算法解决简单问题。(3)搜索并筛选好的学习资料阅读专业书籍和文献,寻找权威的教材和最新的研究成果,深入了解相关领域的核心概念和原理;参加线上课程和培训,许多在线学习平台提供丰富的课程资源,跟随专业讲师系统学习;关注行业论坛,及时了解行业动态和最新技术趋势。(4)实践应用将所学知识运用到实际项目中,通过实践加深理解和掌握。就和我们打游戏一样,天天看指导帖子和网上对战视频进步有限,天天练习,找厉害的同学打才是提升高效途径,实践出真知。(5)建立知识体系对所学知识进行整理和分类,构建自己的知识体系,便于记忆和调用。可以使用思维导图等工具,将各个知识点之间的关系清晰地展现出来。(6)复习、总结、交流、分享定期回顾所学内容,总结经验教训,文档化记录,发现自己的不足之处并加以改进。与同行、专家进行交流,分享自己的见解和经验,从他人的反馈中获取新的启发。总之,有效的知识和技术积累需要明确目标、制定计划、多渠道学习、实践应用、建立知识体系、定期复习总结以及交流分享,并且要保持坚持不懈的学习态度和耐心。3、我们在机器人项目上如何做技术积累(1)定范围、找资料机器人开发需要涉及多方面的专业知识和技能,包括数学基础、特别是线性代数、微积分和概率论等;机械设计知识;电子工程,特别是硬件组件和电路设计;计算机语言,C++、Python等均会用于机器人的软件编写;控制理论,比如PID控制器、卡尔曼滤波器等控制算法相关理论;传感器技术;计算机视觉技术,机器人操作系统,人工智能与机器学习。对于一个团队或一个工程师不可能在短时间内完成这些技术点的学习和储备,要结合项目阶段性目标选择重点方向。比如在现阶段我们最缺是机器人操作系统ROS的知识,在机器人导航软件开发上没有积累,那我们就在B站、CSDN上等挑选了相关课程和相关书籍,拿出来学习。(2)解构技术点上面提的“定范围”我们可以理解为在大框架上进行解构,对于小的技术栈要进一步去解构。以机器人导航自动功能为例,我们开始在验证导航功能的时候,一发现有问题就尝试去换算法、调参数,结果就是按下了葫芦起了瓢,路径规划、传感器数据采集、恢复行为等模块按个出问题。这都是因为我们对导航这个技术栈没有“打开”,没有一个个技术点去解决。后来我们就开始逐个技术点去拆解,针对实验中遇到的问题去分析改进点,解构的方向就是找到技术框图,沿着“地图”一步步走。导航的技术框图技术点上进行解构ROS(Robot Operating System)机器人操作系统 (qq.com)
Gazebo - 开源机器人仿真工具 (qq.com)
SLAM - 让机器人认路 (qq.com)
SLAM算法 - Hector_mapping和Gmapping (qq.com)
激光雷达 - 感知外部信息的工具 (qq.com)
OpenCV - 视觉感知和智能决策 (qq.com)
IMU - 提供姿态和位置信息的关键器件 (qq.com)
ROS Odometry - 里程计测量距离和方向 (qq.com)
ROS AMCL - 基于蒙特卡洛算法实现在已知地图中的定位 (qq.com)
ROS move_base - 实现机器人从起点到目标点的路径规划和导航 (qq.com)
ROS TF - 实现机器人坐标变换 (qq.com)
(3)动手验证、解决问题"纸上得来终觉浅,绝知此事要躬行",这句话是永远不变的。原理图是一笔笔画的、代码是一行行写的、问题是一个个解决的。我们现在确实有很多更高效的工具去获取知识了,但是改进产品的唯一路径还是动手验证、解决问题。(4)写文档、自己写文档现在我们获取信息太容易了,但信息不是知识,信息也不是经验,信息更不是能力。大量信息噪音会让你迷茫,更会让你退化,丧失辨伪、归纳、提炼等核心的思辨能力。想在一个快速发展的技术方向上提升技术能力和产品质量,还是要依赖积累。个人需要坚持总结和积累,实现自我技能提升;团队需要技术总结和积累,将零散的经验固化成组织能力。有很多有效的办法可以帮助个人和团队完成技术总结和积累,比如坚持文档化,把关键问题解决过程文档化、把产品关键模块技术点总结文档化,坚持工程师自己写文档,在文档中梳理逻辑,提炼核心点。坚持白板讲解,通过“学习、讲解、讨论”等一套组合拳让团队中更多的人了解知识,参与问题讨论。坚持例行的培训,把共性问题和关键技能进行定期分享,将经验逐步嵌入组织记忆,固化能力。总之,虽然获取信息的工具改变了,但是获得知识和能力依然不存在捷径,唯有扎扎实实积累,一步步向前走。在信息洪流中技术积累:解构+验证+文档化+分享+总结+改进+夯实
了解全流程开发,可以了解这本书