乐于分享
好东西不私藏

AI软件篇:硬件工程师如何借助AI编程工具玩转产品开发

AI软件篇:硬件工程师如何借助AI编程工具玩转产品开发
    短短的一年时间,各种各样的AI软件开始涌现,并快速地改变着技术开发领域的工作方式,让人不免产生焦虑,新闻报道上的巨头公司们陆续的裁员动作,其实已经预示着接下来的很短时间里,AI将会让很多行业和岗位发生颠覆性的改变,其中影响最快也是最直接的竟然是软件开发领域,在AI编程工具软件和各类大模型的综合影响下,上层应用软件开发的岗位受冲击是最大的,不论是前端还是后端,程序员们都已经不再需要自己一行行的去撸代码了,程序里99%的代码都是AI软件自动生成的了,且效率极高,传统写几周的代码用AI软件几个小时就完成了,质量还很高,这样的效果必然是对程序员们产生革命性的影响。
    硬件设计方面相对于软件来说,受影响会延缓一些,因为中间还需要解决EDA软件的AI驱动及软硬件联调的过程,这里需要底层硬件实物信号反馈,实物连线调试等工具的配合,AI软件的智能化程度还有待提高,因此对于硬件和嵌入式底层软件开发来说,AI软件完全替代的时间还会延后;但这并不代表我们的工作方式不会发生改变,虽然AI工具软件不能完全替代硬件和嵌入式软件的工作,但是却能大大降低硬件和嵌入式软件开发的难度和提高效率,最终结果就是导致很多的岗位会消失,这并不是危言耸听,是在很多大大小小的公司正在发生的事情,那么在AI技术的加持下,我们硬件开发人员有什么优势,该如何应对呢?我根据近段时间的开发经历来跟大家聊聊我的感受,希望能对正想进入这个设计行业的朋友们一点启发。
    我个人认为硬件开发出身的工程师在这一轮AI技术变革中是有机会获益并能借助AI编程工具软件实现完整的产品设计开发的,换句话说就是一个硬件工程师可以从头到尾完成一款新产品的软硬件甚至结构的开发设计。为什么我说硬件工程师是最有可能独立完成,这个岗位有什么优势?首先我们拆解一下在传统的产品开发流程,一个新产品立项开发,大致会由产品经理,硬件开发,软件开发,结构开发和测试这几个主要角色,分工明确,且各自所用的开发工具软件都不同,产品经理侧重需求和原型,硬件开发侧重电路和调试生产,软件是代码和调试,测试是侧重用例和操作。AI软件对产品经理,软件开发和测试的影响较大,输出物很多是可以直接由AI 软件输出的,在需求明确和对业务充分理解的情况下,产品经理的文档类和原型类的输出,AI是可以100%的输出结果的,这就给了硬件工程师条件借助AI工具软件快速完成普通产品经理所做的事情,同样的,如果复杂度不高的嵌入式单片机代码,是完全可以由硬件工程师通过编址AI工具软件来完成设计的,测试用例和具体的测试动作对于硬件来说,那也是不存在难度的,反而是结构设计的工作,需要相对专业的EDA软件来完成,而AI工具软件恰恰在EDA软件的自动操控方面,还有待提升,因此硬件和结构这2部分是相对冲击小的;而对比硬件和结构,硬件工程师又更理解产品的业务内容,工作原理,这就是这个岗位独特的优势,因此出身硬件的人员更容易去理解业务需求、设计产品原型、开发产品电路和硬件图纸(包括结构图纸)、并借助AI编程软件完成嵌入式软件的开发,同时通过AI软件来做一些自动化测试软件和用例,最终完成整个产品的开发 ,是不是听起来就特别的让人兴奋,这应该是我们作为一名硬件开发人员的目标和方向,有AI工具软件的加持,很多之前不敢想,不能做,做不完的事情都不再是困难;那么从现在开始,行动起来吧!
    硬件工程师要想独自玩转一个产品的开发,还是要做好一些储备的,那接下来我们来探讨一下,我们怎么做可以实现这个目标。
首先,我们要开发一款产品,必然要先深刻理解业务,我们得转换角色,把自己当成一个产品经理来思考问题,这个产品要实现什么功能,做成什么样子,解决用户的什么痛点,成本要控制在多少以内, 要在多久时间开发出来,产品的客户群体是什么,怎么把产品策略落实到具体设计方案里来?在设计方案出来之前就把这些问题考虑清楚,并应用AI软件整理出产品的规格书和产品设计 原型,把产品的设计目标制定清楚。在规格和目标明确之后,我们开始准备产品的硬件,软件的方案和架构,先把一些基础想法用AI软件整理成文档,比如产品的功能描述,接口协议,电路架构图等等,这些之所以要整理成文档,是为后续采用AI编程软件进行设计代码时把这些文档作为输入信息喂给AI软件,让AI软件能快速准确的知道我们想要什么,这样软件给我们提供的架构设计和代码质量就会更高,避免了反复的修改需求,导致AI软件输出代码质量低,效率低,且还反复折腾浪费AI的成本。总结一下就是,需求明确,文档清晰,善用工具软件。
然后,在具体设计电路图,PCB时,也要善于利用AI软件,对我们设计的电路图进行评审,现在的AI软件工具都十分强大,以cursor为例,你只需要把画好的电路图PDF档输入给他,它可以给你做评审分析,可以为后续代码编写做好准备。在设计电路时,一定要把关键性器件的规格书下载下来保存,建议一个器件规格书的文件夹提供给AI编程软件学习,整理一个word文档,将电路里一些设计的要点用文字描述清楚,尤其是一些在图纸上无法表达出来的跟业务场景相关的隐性内容,最好是能记录下来,让AI软件更熟悉为什么要这样设计,这样在做代码编程时,它会实现更准确。
嵌入式软件编程对于AI编程软件来说,是需要解决一个硬件实际的信号、时序和显示等单向输出无法给AI反馈的问题,我们就是负责将这些信息精准测量和描述反馈给AI编程软件,让它获得准确的反馈来调整软件代码,最终达到我们要的效果,这个过程之所以硬件工程师可以独立完成,就是因为甚至不需要看懂AI写的代码,我们只需要清楚的了解产品的技术原理和我们想到达到的功能效果,并不断提示给AI软件,告诉他我们需要什么,它实现出来的效果跟我们期望的差距在哪里,让AI软件去调整到最佳,就是这么简单。
    AI编程软件的出现,让我们开发的方式发生了很大的改变,之前侧重点在于各种语言的逻辑,语法和实现某个功能的算法实现,这个可能占据了软件开发项目里的大部分时间,而AI编程软件的出现,让我们彻底从代码编写中脱离出来,反而是要对业务需求和实现效果有更深刻的理解,同时能准确描述给AI,这个是最重要的,提供完整足够的信息,并告诉它我们要做成什么样,最后来测试验收AI 所做的结果,这个是借助AI工具之后我们工作的方式所发生的改变。这种改变明显降低了工作的复杂度,对于代码能力的要求也下降了,只要能理解和读懂代码,基本上也能用AI开发出高质量的代码来,这就是硬件工程师能独立玩转产品开发的最核心的变化。
    当然,要想设计出一款成熟稳定的产品,必然是需要硬件工程师不断地提升自己,更深刻的理解业务,善用AI编程工具软件,跟上这个大时代的变革,不断提升自己的能力,让我们成为那个AI替代不了的岗位,加油,硬件工程师!
 欢迎朋友们关注、分享转发,请注明文章来源,尊重原创,拒绝抄袭!