01、基础知识

一个嵌入式工程师,很多都是从51单片机或者STM32单片机开始,对于单片机的开发环境,开发流程,基础外设都了解,做过一些实际的案例,比如点流水灯之类的。那么对于基本的中断的概念,寄存器的概念,看门狗,AD等基本原理能大概的讲出来。掌握硬件设计方法,能设计原理图PCB,至少两层板。

能画出三极管及MOS管作为开关管的实际应用电路,对电源芯片的设计有基本的了解。能利用网络进行信息检索,能在理解别人图纸的基础上进行copy。

这是一个本科嵌入式毕业生应该具备的水平。项目做的多的同学,可能在某些专业方向有较深的钻研,和较多的涉猎,比如对一些基本的传感器,编码器,执行机构的了解等,再比如研究生同学会使用matlab等软件进行算法仿真,控制方向的同学会用单片机调用FOC库控制PMSM电机,图像方向的同学会调用opencv进行一些图像处理等。

这个阶段如果有国际开源社区贡献经验的,那就是非常加分了。至少在英语和git使用上是基本过关了。

02、项目心态

做过完整项目的工程师都明白,在项目的推进过程中,会经历各种心态,有时候会让人崩溃,可能很多次都想放弃,但是你体会过坚持并有结果的感觉后,就明白没有干不出来的项目(其实是项目论证阶段的时候,更高阶的工程师已经做个评估了)。项目心态其实就是技术人员的死磕心态,没有搞不定的难题,没有干不出来的项目。

一般工作三年左右的工程师,应该都经历过完整项目了。很多工程师可能第一年的时候都在补大学的课,所以三年比较保险。三年工作经验的工程师可能还不具备全局视野和架构视野,但是一定要具备良好的项目心态了。

并且3年左右的工程师正是在死磕心态的支持下,可能各种论坛,各种帖子去搜索解决问题的方法,应该也要具备独立解决问题的能力了。

03、技术架构

技术架构是个什么东西,项目做的多了,接触的项目大了,会发现一个问题,所有的项目都有共通之处,所有的嵌入式设备都是换汤不换药。那么有没有积累一套稳定的基础程序库和架构就显得非常重要了。比如,串口协议编解码,log系统,滤波算法,操作系统,GUI,按键io,定时器库等。

这些东西我一向不主张重复造轮子,因为世界上聪明人实在是太多了,github搜一下,找一些适合自己的基础库进行集成改造。看看别人写的东西之后,会发现自己的技术思路有时候真的很low。

比如按键,很多人认为是一个非常简单的东西,但是一个按键,多个按键,单击,双击,三击,长按,短按等,你如果按照你的逻辑来写,90%的人会写的非常笨。

在比如,环形缓冲,以前我刚参加工作的时候,看到同事写的串口环形缓冲区程序,觉得同事真牛逼。

诸如此类就太多了,所以有时候,开阔的技术视野比你闷着头在那里发奋图强实际要有效的多。然后站在巨人的肩膀上,去发现bug,去修改,去完善,慢慢的就越来越健壮了。同时,你也会拥有更谦卑的心态。

技术架构,建议探索、参考一些经典的开源硬件项目。

04、技术视野

技术视野来自于几个方面:

  • 一个是做的项目够多,接触的东西够多

  • 对技术有足够的好奇心,想了解清楚底层究竟是如何在运行

  • 勤奋(有时候来自于热情,并不需要刻意)

接触开源硬件是扩展技术视野非常好的途径,最好是参与进去,如果有兴趣的话。px4,到现在我都还没有把整个架构完全弄清楚,里面会涉及到非常多的知识,linux,gcc,cmake,docker,python解析,nuxt系统(类linux,posix接口),git,mavlink协议,各种算法及paper,仿真方法,编译下载等。但是这是一个非常有意思的过程。再回过头去玩单片机的时候,你就知道一个单片机要运转大型复杂的项目应该是什么样子的了。

05、成熟方案

成熟方案就是你在做过很多项目后,这些项目成果。都是可以稳定市场化的东西。在以上那些基础上,你做过的项目,在硬件和软件上都应该是稳定的,且是可以市场化的东西。你在不需要浪费一个开发周期就可以拿来用的东西,就是成熟方案。

比如你做过的电机驱动,你做过的打印机方案等。这时候本质上讲,你是可以开方案公司的了。至少技术上是可以的了。但是还缺点啥?

06、一通百通

这个时候,你对任何你遇到的项目,仿佛总有办法把它又快又好的干出来了,因为看到一个新案子的时候,你看问题的角度和新手是不同的了,无非是你所积累的架构的一个变种而已。要不就执行机构变一下,要不就是传感器变一下。

选型能力

上面说,你要开方案公司的话还缺点东西,其实缺的就是选型能力,不是技术上跑通了,就可以市场化的,市场化比如要同行对比,你是否体现了成本优势,技术领先优势,解决了独到问题等。成本问题就涉及到你积累的供应商资源,以及你搜索供应商资源和实际的对外沟通能力了。

笔者曾经给一款消费电子产品降本,三到六个月之后,整个行业全部都换成笔者设计的那套方案了。

07、其他能力    

如果还要考察其他能力的话,那就是性格和人品了,因为降成本有时候是一个很敏感的东西,意味着你会在公司打破某种微妙平衡,你会碰到非常大的阻力,常常会让你觉得自己吃力不讨好。但凡你有一点怀疑和退缩,你就会妥协。

所以技术的上层是更复杂的一些东西了。这个时候的坚守靠的是价值观,你坚信你把更大的利益让给了消费者,你用你的技术视野和项目推进能力是创造了最终价值的。

08、当心温柔陷阱

很多人做十年,都停留在基础层级,甚至在退化,他们公司做系统集成,他每天只需要做串口协议的解析和转发工作,换一个产品,还是做这个,而一套程序成熟后又没什么大改的地方,最多就是不同的用户要不同的功能,对协议进行一些增删而已。

这种公司一般还都是大公司,慢慢的,做这个工作的工程师在某种程度上就被废掉了。同理,天天调pid,换一套系统,还在一样的。所以很多公司要求要有一个产品从零到一的过程。

在这种陷阱里似乎很舒服,但也有些危险,容易遭受年轻人的挑战,他们比你年轻、有精力,工作更拼命。工程师危机呀~

作为技术人不停地跟技术难题死磕、更新知识,或许这才是对的状态,以图长久的保持市场竞争力。

在大公司天天调参数,感觉快废了相关推荐

  1. 在大公司天天调参数,感觉快废了~

    大家好,我是写代码的篮球球痴 最近有个同学跟我聊到,他自己现在从事FAE的工作,然后FAE也就是调调参数,写写寄存器,没有特别大的挑战,特别是熟悉之后,工作更加觉得没有意思了. 做程序员的很多人,包括 ...

  2. 一直在大公司天天调参数,感觉快废了~

    正文 大家好,我是小猿~ 这篇文章浏览了一下,文章的作者应该是过来人,挺多东西可以借鉴和思考的~多多少少还是要有点危机意识,切不可温水煮青蛙~当然啦,也不能过分焦虑与浮躁,脚踏实地才能走的更长更远~ ...

  3. 各大公司应聘电子类题目精选

    模拟电路 1.  基尔霍夫定理的内容是什么?(仕兰微电子) 基尔霍夫电流定律是一个电荷守恒定律,即在一个电路中流入一个节点的电荷与流出同一个节点的电荷相等. 基尔霍夫电压定律是一个能量守恒定律,即在一 ...

  4. 为什么有些大公司技术弱爆了?

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  5. 好问题:为什么有些大公司技术弱爆了?

    戳蓝字"CSDN云计算"关注我们哦! 本文整理自知乎上的同名讨论帖:<为什么有些大公司技术弱爆了?>,版权归原作者所有,原文地址:www.zhihu.com/quest ...

  6. 大公司拧螺丝还是小公司扛把子

      前天晚上,在学校参加了一场宣讲会.本来是抱着了解业务的目的去的,结果却是收获颇丰.我去的时候教室已经坐满了人.只有最前边几个空位置,找个空位置就坐了下来,旁边坐的是一位来宣讲公司的公司职员.还没开 ...

  7. 分享一些大公司团队的代码

    目录 阿里巴巴 腾讯 百度 华为 360 小米 58同城 美团 滴滴出行 知乎 哔哩哔哩 新浪微博 搜狐 极光开发者(Jpush) 开源中国 当当 豆瓣 饿了么 网易 七牛 环信 YY 1.阿里巴巴 ...

  8. 为什么有些大公司技术却弱爆了?

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 15 分钟. 来自:www.zhihu.com/question/32039226 tips:文末有好书推荐~ 有网友提问: ...

  9. about云大数据面试宝典 大公司面试一般用不到

    阿里四轮面试总结 第一轮面试电话(**5** 月 6 号): 1.自我介绍,包括做过项目. 2.有看过哪些 JDK 源码,了解哪些常用库. 3.集合框架 HashMap 的扩容机制,Concurrne ...

最新文章

  1. 【数论基础】模运算详解及其应用
  2. 心得14-hibernate的优化2-抓取(fetch)
  3. Mtk Android编译命令
  4. python自动化测试常见面试题二_思考|自动化测试面试题第二波
  5. 阿里云服务器端口请求失败(在控制台把端口添加到服务器的安全组)
  6. android 修改系统字体后app崩溃,android 应用在切换系统字体大小和语言时,应用崩溃问题...
  7. visio2013安装包及破解工具KMS
  8. 字符串的交叉合并c语言,C语言 两字符串的合并
  9. 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(五)
  10. EtherCAT CoE Object 0x603F 的标准
  11. 一文带你走进网络编程
  12. 关于一次mac维修的经历
  13. 程序员都会的五大算法之三(贪心算法),恶补恶补恶补!!!
  14. 龙之信条服务器维护,不只是重启!《龙之信条:黑暗觉者》常见问题解决方案...
  15. 如何将多个excel表格合并成一个_如何将两个pdf文件合并成一个
  16. 红外寻迹小车基于K128单片机的红外对管飞思卡尔智能车(5个对管)程序部分
  17. UCOS-II优先级调度算法之详解OSPrioHighRdy=(INT 8U)((y<<3)+OSUnMapTbl[OSRdyTbl[y]]);
  18. 日期函数(最近一周/一个月/半年/一年)
  19. 区块链会员积分体系解决方案
  20. 发那科系统基本参数概述

热门文章

  1. KVM虚拟机添加磁盘空间
  2. 使用邻接矩阵实现有向图最短路径Dijkstra算法
  3. Mac latex vscode配置外部PDF阅读器并配置对应跳转
  4. Overleaf 显示中文
  5. java中的位移运算符_Java 位移运算符
  6. html5实现单点登录,用 Authing 10分钟实现单点登录(SSO)
  7. Linux 中常用的命令
  8. Linux环境下利用句柄恢复Oracle误删除的数据文件
  9. ReactNative 问题集合
  10. .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)