嵌入式系统存在于成千上万的产品中,熟练的嵌入式工程师需求量很大。今天分享一些成为一名成功的嵌入式工程师很重要的顶级技能。
一个嵌入式工程师需要具备哪些技能?
嵌入式工程师需要各种技术技能。这些包括计算机硬件和软件以及C和C++等编程语言方面的专业知识。工程师还需要一定的软技能,比如善于沟通和解决问题。
术语“嵌入式工程师”通常指“嵌入式软件工程师”或“嵌入式系统工程师”这两种工作所需的技能通常取决于工程师工作的产品和项目中的模块。
嵌入式系统工程师是做什么的?
嵌入式系统工程师了解整个嵌入式系统。他们利用这些知识来集成嵌入式系统中的硬件和软件。目标是确保整个系统和产品运行良好。在许多项目中,这些工程师还帮助开发嵌入式软件。
嵌入式软件工程师是做什么的?
嵌入式软件工程师为嵌入式系统开发软件。这些工程师对嵌入式系统及其局限性有一个大致的了解。工程师将确保软件与系统一起工作。然而,嵌入式系统工程师非常熟悉系统的结构和局限性。
嵌入式软件工程师的顶级技能
嵌入式软件工程师和开发人员需要一系列的技术技能。他们应该对编程语言、设备驱动程序和实时操作系统有深刻的理解。以下是嵌入式软件工程师需要的一些基本技能或他们应该具备专业知识的领域:C和C++编程、微控制器或MCU、微处理器、Linux操作系统、片上系统(SoC)级别的软件优化技能、实时操作系统(RTOS)、设备驱动程序、理解设计模式和嵌入式、系统设计模式、调试技巧、能够使用现有的代码库、中断驱动设计、汇编编程语言、硬件测试设备:示波器和逻辑分析仪、有学习通信协议的经验或能力(至少要了解的相关协议包括I2C、串行外设接口(SPI)、USB、通用输入/输出(GPIOs)、控制器局域网(CAN总线)、推荐标准232 (RS232)、单线、推荐标准485 (RS485));能够阅读原理图、对物联网和基于互联网的技术有基本的了解、理解数据结构、Python编程语言、RISC-V指令集架构。
嵌入式系统工程师的顶级技能
嵌入式系统工程师应该在硬件和软件方面都有经验。工程师还应该熟悉最新的处理器和其他嵌入式系统工具。一般来说,嵌入式系统工程师应该拥有与嵌入式软件工程师相似的技术技能。但是他们也应该有额外的技能。
类似于嵌入式软件工程师应该具备的关键技能:微控制器或MCU、C和C++、实时操作系统(RTOS)、设备驱动程序包括Linux、Linux操作系统、通信协议、I2C和SPI等接口总线、通用输入/输出或GPIOs、微处理器技术包括最新的处理器。
嵌入式系统工程师应该具备的其他技能包括:硬件和软件方面的丰富经验、理解设计模式和嵌入式系统设计模式、GNU项目调试器包括本地和远程调试、MATLAB编程语言和MATLAB建模(如果你的组织使用MATLAB)、设计模式、多处理器设计、多子系统问题、Python编程语言、开源软件、无线连接包括Wi-Fi和蓝牙低能耗(BLE)、统一建模语言。
适用于所有类型嵌入式工程师的顶级软技能
嵌入式工程师还需要一系列非技术或“软”技能来取得成功。关键的软技能包括人际交往、沟通和团队合作的能力。
以下是一些对嵌入式工程师有用的软技能:解决纷争、全面系统思维、用文字和图形很好地交流、演绎逻辑、解决问题和创造新解决方案的能力、情商——与他人良好合作的能力、擅长团队合作和与同事分享信息、网络能力、积极参与社区讨论和信息共享(尤其是与开源社区相关的)、了解如何研究和寻找系统开发和其他信息来推进工作、对项目管理有基本的了解、创造力、在舒适区之外学习的能力、耐心等等。
结语
嵌入式工程师将需要继续磨练他们的技能,以跟上不断发展的嵌入式趋势。随着他们的发展,他们需要学习新技术,并继续掌握重要的“软”技能。