敏捷人才是嵌入式系统设计的答案吗?
已发表: 2022-03-11从计算器到汽车,嵌入式系统无处不在。 当您阅读本文时,您正在使用的设备依赖于数十个这样的系统——其特点是软件嵌入并在一个硬件中发挥作用——来显示文本并对你的命令做出反应。 可以肯定地说,嵌入式系统是个人和整个行业的日常生活的基础。
随着“物联网”(IoT)的兴起,嵌入式系统设计变得更加重要和无处不在。 物联网由嵌入式系统提供支持,其范围正在迅速扩大。
麦肯锡公司 2013 年发布的一项研究估计,到 2020 年,大约有 300 亿个物体可以连接到物联网。 波士顿咨询集团 2017 年进行的一项研究进一步发现,仅在 2020 年,企业就准备在物联网应用程序和基础设施上花费超过 2500 亿美元。 尽管这样的估计最终可能会落空,但物联网未来对企业和消费者的重要性似乎是确定的。
鉴于物联网对消费者的重大影响和巨大的经济潜力,能够设计和开发嵌入式系统的顶级工程师的需求量很大也就不足为奇了。 然而,在某些行业,物联网带来的变化正在超过公司雇用此类人才和建立内部团队的能力。
这个问题在传统上以硬件和重型机械为中心的行业尤其严重,而不是软件开发以及机器学习和人工智能等领域。 此外,这些行业通常远离美国东海岸和西海岸的科技中心,这使得说服就业市场的顶尖人才选择他们而不是高科技硅谷替代品变得更加困难。 这些行业对聘请嵌入式系统专家的需求从未如此强烈,而且只会增加。
这些行业对聘请嵌入式系统专家的需求从未如此强烈,而且只会增加。
在本文中,我们将看到敏捷人才——本质上被定义为专业的自由职业者——可以使这些行业成功地适应嵌入式系统日益重要所带来的挑战。 以汽车行业为例,我们还将了解使用敏捷嵌入式系统开发人员的一些主要障碍,以及如何克服这些障碍。
敏捷嵌入式系统开发——挑战和解决方案
寻求建立嵌入式系统开发专业知识的公司面临的两个最大挑战 - 寻找合适的人才和激励人才迁移 - 可以通过使用可以在内部或远程工作的敏捷工程师来解决。
人才短缺
嵌入式系统工程师供不应求。 虽然很难获得目前在劳动力中的嵌入式系统开发人员数量的经验估计,但有关此类人才需求的各种数据提供了嵌入式系统市场的相对规模的感觉。
美国劳工统计局发现,2016 年,软件工程大约有 130 万个工作岗位,而计算机硬件工程有 74,000 个工作岗位。 在求职搜索引擎 Indeed 上进行基本搜索,在应用程序开发中产生大约 63,000 个空缺职位,而在嵌入式系统中大约有 12,000 个职位。 尽管这些指标非常不完善,但它们表明嵌入式系统市场与传统软件工程相比相形见绌。
嵌入式系统专家的短缺至少部分可以通过教育来解释。 在 2014 年的一篇文章中,纽约大学名誉教授罗伯特·杜瓦 (Robert Dewar) 认为计算机科学系不再重视技能——例如高等数学、团队合作、理解大图系统以及对各种编程语言的了解——这些都是必不可少的嵌入式系统开发。
由于培训不足,最好的嵌入式系统开发人员与其他人之间存在很大差距。 Toptal 的嵌入式系统工程师和英特尔的长期软件架构师 Marcos Oviedo 表示,根据他的经验,许多工程师缺乏成功的嵌入式系统设计所必需的硬件和软件开发专业知识的融合。 他说,使用敏捷人才可以为公司解决这个问题。
尤其是远程人才可以产生显着的收益,因为它使公司能够获得具有广泛技能的深厚人才库:“能够提供良好、成熟的软件开发实践 [连同硬件专业知识] 将提高质量产品,”奥维耶多说。 “这绝对是远程人才可以带来的东西。”
位置,位置,位置
由于大部分科技世界都集中在美国东海岸和西海岸,因此可能很难激励顶尖科技人才在其他地方工作和定居。
虽然这个问题适用于需要各种技术人才的公司,但对于在嵌入式系统等缺乏人才的领域寻找人才的公司来说尤其紧迫。
敏捷人才可以为依赖标准化、易于处理的硬件组件的项目做出有意义的贡献。
敏捷人才可以通过让公司雇佣可以住在他们选择的地方的顶级工程师来解决这个问题。 与其打一场艰苦的战斗,试图说服嵌入式系统工程师搬迁——因此仅限于雇佣那些愿意搬家的工程师——公司可以雇佣在任何地方工作的人才。 这消除了为手头工作聘请最优秀工程师的主要障碍,并使公司能够更好地快速成功地建立嵌入式系统专业知识。
现在我们了解了敏捷人才可以解决的一些关键问题,我们可以转向探索使公司能够使用这些人才的条件以及使这变得更加困难的条件。
敏捷嵌入式系统开发人员何时可行?
对于一些嵌入式系统开发人员来说,远程工作说起来容易做起来难。 虽然工程师可以在世界各地的任何一家咖啡店舒适地开发移动应用程序,但为大型硬件开发基于软件的系统需要对相关硬件有深入的了解,而如果没有物理知识,这可能很难获得靠近硬件本身。
重要的是要了解这种才能什么时候合适,什么时候不合适。
当敏捷或远程人才可行时:敏捷人才可以为依赖标准化、易于处理的硬件组件的项目做出有意义的贡献。 在这些情况下,公司可以为嵌入式工程师提供硬件规范或通用软件开发工具包 (SDK),工程师可以在任何地方修改和使用这些工具包来开发他们的产品。
Flavio de Castro Alves Filho 是巴西圣保罗的嵌入式系统开发人员,他发现公司经常为他和他的团队提供远程完成项目所需的工具。 例如,在为心电图 (ECG) 设备开发嵌入式系统时,Filho 获得了完成任务所必需的许多基本硬件——数字转换器、微处理器和微控制器。 “如果我们有最终的硬件,那很好,但这不是必需的,”Filho 说。
当敏捷或远程人才可能不可行时:相反,对于涉及严格安全标准或特别大型硬件组件的项目,使用远程敏捷人才可能具有挑战性。 自由嵌入式系统开发人员应该保护物理空间和设备,使他们能够在广泛的情况下远程工作。 尽管如此,这些案例(在下面的汽车案例研究中进行了更多探索)可能需要非常大的工作空间来进行远程工作或可能无法访问的工具。

此外,对于某些“关键任务”嵌入式系统项目,公司可能会选择雇佣全职工程师而不是敏捷人才。 这些项目可能会持续很长时间——有时是几年——并且涉及的系统非常敏感,以至于公司必须将它们严格地保留在内部。
巴西汽车工程师协会主席 Hayram Nicacio 就车辆控制系统提出了这一点: 他们把它放在七个保险箱里,一个放在另一个里面。” 在某些情况下,由于项目的高度敏感或专有性质,公司根本不愿意雇用敏捷人才。
尽管这些挑战是真实存在的,但以下案例研究将表明它们并非不可克服。
案例研究:汽车行业
作为一个以嵌入式系统为基础并正在经历快速技术变革的传统行业,汽车行业为嵌入式系统专业知识的必要性和使用敏捷人才来满足这一需求所面临的挑战提供了有用的例证。
数字汽车的兴起
从根本上说,汽车一直是嵌入式系统的复杂集合,如果说它们的复杂性随着时间的推移而增加,那将是一种严重的轻描淡写。 对老式与现代车辆设计的简要对比说明了这一点。
福特 T 型车生产于 1908 年至 1927 年间,按照今天的标准,其设计和构造相对简单。 一辆 Model T 由大约 1,500 个不同的零件组成,机械工程师和其他人在福特的创新装配线上组装起来。 相比之下,一辆现代汽车大约有 15,000 个不同的零件。
然而,汽车复杂性的增加不仅是由于使用的零件数量的增加,而且是由于使用的不同类型零件的增加。 虽然 T 型包括一些基本的电气部件,但它主要是使用机械部件建造的。 现代车辆是机械、电气和软件组件的多样化组合。 正如《纽约时报》 2015 年的一篇文章所指出的,今天生产的高档汽车是“地球上最复杂的机器之一,包含 1 亿行或更多行代码”。 尽管今天的车辆设计仍然严重依赖机械部件和机电工程,但它们越来越依赖软件和计算能力。
新型汽车需要新型人才
作为一个传统上以机电系统为中心的百年行业,现在正在向更先进的基于软件的技术过渡,汽车行业软件工程师的相对短缺是可以理解的。
汽车行业需要更多的嵌入式系统工程师来成功驾驭日益复杂的软件驱动的未来。
历史上总部设在密歇根州底特律的美国汽车行业在从硅谷吸引顶尖软件人才方面也面临困难。 Alphabet 的 Waymo 等高科技公司积极进军汽车领域,进一步加剧了这个问题。 汽车公司已通过多种方式应对这一威胁。 一些与高科技行业参与者合作,而另一些则成功地在内部建立了高科技专业知识。 汽车行业需要更多的嵌入式系统工程师以及其他高级技术专家,才能成功驾驭日益复杂的软件驱动的未来。
克服敏捷人才挑战
尽管汽车行业在使用敏捷嵌入式系统开发人员方面可能面临挑战,但必须了解一些潜在的解决方案:
安全要求:
挑战:汽车行业有严格的功能安全标准,即 ISO 26262,它塑造了系统和组件的开发方式。 虽然不是严格要求,但对于该领域的嵌入式系统开发人员来说,拥有符合这些标准的资格是有帮助的。
解决方案:获得 ISO 26262 中的适当认证对于嵌入式系统开发人员来说并不难,可以通过参加一系列课程来完成。 此外,ISO 26262 遵循 IEC 61508 标准中的功能安全基本原则,旨在应用于铁路和核电等行业。 汽车制造商和供应商可以针对在这些其他领域具有先前经验的嵌入式系统人才,以更好地确保遵守 ISO 26262。
具体专长:
挑战:车辆,特别是考虑到它们的复杂性,有许多需要特定领域专业知识的组件。 汽车行业依赖于硬件知识和技术——包括锁步 MCU 架构、CAN 和 LIN 通信——许多工程师可能不具备这方面的专业知识。 由于这些领域专家供不应求,汽车公司可能不愿意雇用自由职业者,因为担心具有独特技能的工程师会在项目中途离开,尤其是在项目持续数月甚至数年的情况下。
解决方案:敏捷人才可以通过 AUTOSAR 和 ASPICE 等特定课程获得汽车行业使用的某些系统的特定专业知识。 如果敏捷工程师具有相关领域(例如 MCU、FPGA)的专业知识,但缺乏汽车领域的经验,他或她可以得到具有此类经验的其他人的指导和指导。 此外,一些敏捷工程师可能没有时间限制,对于一些人——尤其是那些愿意在现场工作的人——这些项目可能代表着有吸引力的机会。
硬件物流/位置:
挑战:车辆由大型硬件组件组成。 根据具体的组件和项目,汽车领域的嵌入式系统开发人员可能需要专门的实验室设备或物理接近正在开发的硬件。 这可能会迫使汽车公司将远程自由职业者排除在考虑之外。
解决方案:敏捷嵌入式系统设计人员可以获得他们自己的设备——例如示波器、万用表、CAN、FlexRay、用于调试的 LIN 工具、电池模拟器和 ESD 测试工具——以及足够大以容纳各种组件的实验室空间. 在涉及无法远程完成的项目的情况下,愿意出差和在现场工作的敏捷人才可能仍然会取得成功。
敏捷嵌入式系统人才作为一种创新方式
诚然,远程、敏捷的人才本身可能并不是解决所有嵌入式系统设计挑战的灵丹妙药。 相反,了解可能使使用敏捷和远程嵌入式系统开发人员变得困难的一些条件以及如何克服这些挑战至关重要。
强调敏捷人才可以带来的无形收益也很重要。 使用敏捷人才不仅可以帮助公司方便地解决问题,还可以注入一剂可能对产品设计和成功至关重要的创造力。
当 Marcos Oviedo 被聘为硅谷的一家初创公司远程工作时,该公司的产品——一种帮助篮球运动员如何最好地投球入网的头带——还没有原型,公司也没有明确的计划来说明如何开发它。 虽然在不同的大陆工作,但奥维耶多通过购买基本的、易于访问的硬件和重新利用其他设备的硬件来构建公司的第一个原型。 对于这家公司来说,敏捷的嵌入式系统设计人才是创新的火花,证明对成功的产品开发很有帮助。
无论是通过机械头带、手表还是汽车,物联网都将继续扩展并依赖嵌入式系统。 公司需要熟练掌握嵌入式系统设计才能蓬勃发展,而敏捷人才是一种不容忽视的资源。