嵌入式开发工程师的自我修养

前言

个人总结的一些基本心得,未完待续......

介绍

很多嵌入式初学者入门时经常有疑惑:怎么样才算一名合格的嵌入式开发工程师?哪些是基础,哪些是需要深入了解的,哪些是无关重要的,哪些是要持续关注的?嵌入式开发工程师工作上经常要跟硬件打交道,芯片厂商的硬件型号都不大一样,造成了产品的解决方案也各有不同,比如车规mcu就有英飞凌、瑞萨、恩智浦;物联网领域就更多:意法半导体、乐鑫、紫光......工控领域有西门子、倍福、研华等。虽然架构也大同小异,不就重新熟悉一遍数据手册、SDK接口、编程环境嘛。但我想说的是,在嵌入式领域,差异化是普遍存在的,造成这种现象的根本原因是人们对于产品定制化的需求是多种多样的,嵌入式领域没有普适解决方案。因此,嵌入式工程师经常要接触各种各样的开发环境、工具链、开发语言、硬件平台、数据手册、产品功能,这就给人一种学习成本很高的感觉,换了一个行业可能技术栈就不大适用了,加上嵌入式大都制造行业,薪资有天花板,待遇性价比不高,故而很容易劝退一大批初学者。作为一名从业多年的嵌入式工程师,我总结了一些学习嵌入式必备的一些基础素养,供大家参考

英语

编程语言和硬件手册大都是用英语编写的,因此掌握基本的专业英语词汇就十分重要,有些课程如计算机组成原理直接就拿英文版的来教学

  • 大学英语四级
  • 大学英语六级
  • 计算机专业词汇

数学

编程功底需要有良好的数学基础支撑,以下几门都是大学的基础课

  • 线性代数
  • 复变函数
  • 概率论和数理统计
  • 矩阵论
  • 离散数学

电气

电气工程必修的几门基础课

  • 电路
  • 模电
  • 数电
  • FPGA
  • PCB设计
  • 单片机
  • 微机原理

编程

编程基础课有以下几门

  • 语言:c、c++、java、python、shell
  • 数据结构
  • 算法
  • 操作系统
  • 计算机组成原理
  • 设计模式
  • 数据库
  • 编译原理
  • 图形学

思维

思想决定做事的高度,良好的世界观很重要

  • 辩证法
  • 控制变量
  • 科学发展观
  • 举一反三

测试

掌握合适的测试工具往往事半功倍,好的工具能帮你快速定位硬件、软件问题

  • 示波器
  • 逻辑分析仪
  • 直流稳压电源
  • 万用表

实践

工程实践中也需要掌握一些基础的项目方法论、沟通素养

  • 代码管理工具:svn、git
  • 文档编写
  • 非暴力沟通
  • 辩论技巧
阅读剩余
THE END