成功的物联网项目是工程重的。本文讨论完整的 IoT 项目所需的开发人员技能:
- 硬件设计师
- 嵌入式固件开发人员
- 无线通信专家
- 后端开发人员
- 前端开发人员
- 应用程序开发人员
- 自动化和系统集成工程师
- 数据科学家
任何成功的 IoT 项目的第一步是定义业务目标并构建概念验证系统,以估计这些目标是否可实现。在此阶段,您只需要本文中列出的技能子集。但是,一旦项目如此成功,以至于超越了概念验证级别,团队所需的广度和深度就会增加。
您可能还喜欢:
如何启动企业 IoT 项目
通常,单个开发人员拥有多种技能。有时,清单上的每个技能都需要自己的团队。所需人员的数量取决于项目的复杂性和成功与否。更多的成功通常意味着更多的工作,但也更多的收入,可以用来雇用更多的人。
硬件设计师
大多数 IoT 项目都包括某种形式的自定义硬件设计。硬件的复杂性因项目而异。在某些情况下,可以使用硬件模块和参考设计,而基本的电气工程教育就足够了。更复杂的项目需要更多的经验和专业知识。要构建 Apple 级别的硬件,您需要一个 Apple 级别的硬件团队和 Apple 级预算。
典型技能:
- 印刷电路板 (PCB) 设计
- 射频和天线设计
- 时钟,信号路由体验
- 低功耗设计和功耗优化
- 芯片选择:微控制器、传感器、接口芯片
- 接口: SPI, I2C, JTAG, USB, GPIO
- 生产和组件采购
嵌入式固件开发人员
要将硬件转化为魔力,您需要嵌入式开发人员。这些是软件人员,他们做软件在非常低的水平,接近裸机硬件。该软件被称为固件(其中公司是软和硬的东西)。典型的背景是电气工程、计算机体系结构和软件开发的组合。嵌入式开发人员使用最终硬件的原型版本,因此,他们的办公桌看起来往往杂乱无章。
典型技能:
- 编程语言:C、汇编语言、C++
- 实时操作系统 (RTOS) 体验:FreeRTOS、Contiki、Zephyr
- 嵌入式Linux
- 源代码版本控制
- 物理和信息安全
- 平台: 德州仪器, ARM Cortex, AVR, 微芯片, Arduino, 树莓派
无线通信专家
大多数物联网项目都是无线的,无线是艰难的,因为它将物理世界的所有困难与软件的复杂性相结合
对于大型 IoT 系统,无线通信专业知识对于适当扩展网络和通信设备是必要。对于消费级物联网系统,需要无线通信专业知识,以使设备通过蓝牙顺利连接到用户的智能手机。
典型技能:
- 网络模拟
- 无线网状网络
- 对无线传播有很好的理解
- 对功耗有良好的理解
- 协议:TCP/IP、IPv4、IPv6、RPL、TLS、WiFi、蓝牙、6lowpan、ZigBee、LoRA、MQTT、CoAP
后端开发人员
在 IoT 系统中,后端是数据库和应用程序逻辑所在的位置。后端通常部署在云主机中,负责存储来自 IoT 设备的数据、对用户进行身份验证,并为前端提供 API 并与其他系统集成。
典型技能:
- 编程语言:JavaScript、Go、Python、Ruby
- 数据库: MySQL, MongoDB, Redis
- 开发体验
- 云平台:亚马逊 AWS、Heroku、微软 Azure
前端开发人员
大多数 IoT 项目都有网页形式的前端。这是系统用户与其交互的位置。这需要用户友好、安全、在最常见的 Web 浏览器中工作,并随时了解最新情况。前端在 HTML 中开发,几乎总是使用一些用 JavaScript 编写的现有前端框架。前端开发人员创建视觉体验,通常是通过在屏幕上编写大量文本。
典型技能:
- UI/UX 设计
- 用户访谈和 HCI 体验
- HTML、CSS、Javascript
- Web 开发框架:Vue.js、反应、引导
应用开发人员
许多面向用户的 IoT 项目使用移动应用作为用户界面。随着项目的进展,移动应用体验变得越来越重要。这通常意味着需要开发和维护两个版本的应用程序:iOS 和 Android。有时,混合本机应用(通常以 HTML 开发)是方法。大多数应用开发人员都精通本机或混合框架的优势和挑战。
典型技能:
- 安卓,iOS 开发
- 原生/混合框架:电话加普/科尔多瓦,离子,角,反应,Vue
- 编程语言:Java、Swift、目标C、JavaScript
系统集成、自动化与工程师
许多 IoT 项目需要与现有软件集成。软件集成是一项经常被低估的任务,需要付出巨大的努力和一套特定的技能才能取得成功。一旦软件集成正在进行,您将需要确保集成继续工作。这就是自动测试发挥作用的地方。系统集成和自动化工程师将具有重要的实践经验和坚韧不拔的毅力,因为这是一项艰巨的工作。
典型技能:
- 自动测试框架:詹金斯、摩卡、特拉维斯
- REST API
- 编程语言:Java脚本、Java、Python、Bash
数据科学家
IoT 项目围绕数据展开,您需要了解这些数据。在项目的早期阶段,这可能很简单,只需将关键绩效指标放入 Excel 表中进行比较,但随着项目的进展,您可能需要对数据进行更深入的分析数据科学家能够理解复杂的数据来查找模式和可操作的信息,最终推动数据的价值。
典型技能:
- 统计、AI、机器学习、数据挖掘
- 编程语言: Matlab, R, Python
- 工具: Excel, 谷歌大查询, 哈多普, 张力流, 火花
结论
一个成熟的物联网项目需要广泛的技能才能取得成功。在项目的早期阶段,验证业务案例是最重要的任务,为此,您不需要上述列表中的所有技能。但是,一旦您建立了业务案例,并且项目可以真正开始,这些技能就变得越来越重要。
进一步阅读
[区域研究]物联网成功因素