不懂嵌入式,何谈物联网?
在2019年,我国人力资源社会保障部、市场监管总局、统计局正式向社会发布了13个新职业,其中就包括了物联网工程技术人员、人工智能工程技术人员、大数据工程技术人员等等。
一、入门物联网,嵌入式是关键
那么对于想要成为物联网工程师,面对碎片化极为严重的物联网,我们首先要掌握哪些方面?且想要从事物联网开发,是否要必须嵌入式知识基础?
物联网是新一代信息技术的重要组成部分,传统的嵌入式系统与互联网的发展衍生出了物联网,物联网应用开发是典型的嵌入式开发,因此嵌入式是物联网开发的基础。
不过,对于初级入门者,或许会存在一定的误解,其可能认为掌握了嵌入式开发的技术就等于已经懂了物联网,但事实并未如此。
物联网技术不是单独的一个技术,它是多种技术的融合。物联网涉及感知、控制、网络通信、微电子、软件、嵌入式系统、微机电等技术领域,因此物联网涵盖的关键技术也非常多,大致划分为感知关键技术、网络通信关键技术、应用关键技术、共性技术和支撑技术。
所以,对于开发者而言,首先要对物联网有整体的认识,围绕着未来的发展方向来找准自己的方向,学习精通其中的一个或几个关键技术,理论和实践项目配合,才能在未来的工作中有好的发展。
嵌入式
二、物联网的实战技能
当然以上仅是进入物联的第一步,至于如何进阶?在此,答主以自身从Linux开发工程师转变成物联网软件架构师为例,分享多年的成长心得:
1、首先要跟上时代的趋势,不能坐以待毙,要主动去发现机会并不断地尝试。同时,对最新的商业模式和新技术保持开放的心态,要学会接纳并分析其是否能成长为新的趋势;
2、从Linux底层驱动开发到上层云计算,Java应用开发的转换是需要时间和技术积累;
3、技术栈需要重新建立。思考问题的方式也要随之转变,从面对硬件和机器语言转换为面向客户需求、面向用户体验。这种转变过程从心理上要做准备。
4、多参加技术交流,保持学习的态度,通过独立实现一个规模比较小的网站系统、小程序等项目开始,发展成为全栈,继而提升为软件架构师。
此外,由于物联网范畴之广,决定了其上手的路途充满荆棘。基于此,答主从物联网BU的软件架构师角度出发,表示需要具备以下实战技能:
1、深入掌握2-3门编程语言,如Java、C或Python;
2、对操作系统要有深入的了解,包括进程、线程、存储、内存管理、锁机制等知识点;
3、对Linux操作系统需要有深入了解,譬如从shell到内核的运行机制等;
4、有终端设备驱动开发经验和汇编经验;
5、对软件算法的理解越深越好;
6、在网络层面,要对TCP/IP、HTTP和组网等技术有一定的了解;
7、数据库MySQL、NoSQL等持久化技术;
8、云计算IaaS、PAAS、SaaS 和Devops技术;
9、持久热爱互联网技术,并坚信技术的力量。