该不该放弃嵌入式,单片机这条路?

知乎提问:

本人,一个毕业工作两年在深圳工作的菜鸟单片机工程师。

说说这两年来自己的一些看法。

个人语言表述能力较差,加之经验不足,望见谅。

1.程序编写

1.1对架构能力要求较高。比如做一个自动售卖咖啡机,在开始写之前要对整体有一个很好的框架,各种状态机的切换等等

1.2 对编程技术的要求。我在接手过很多老员工留下来的代码,我觉得写的真的很烂,一座屎山,包括我写的也是。程序耦合很高,不好移植。

2.技术更新迭代

2.1不止芯片,也有新技术,根本学不过来。

3.各种算法

3.1比如滤波的,FIR,EFK等,电机的,无感FOC等。很多很多,极大考验数学,电路,等理论及综合应用能力

感觉快撑不下去了,有没有老铁指教,多谢!!!

1

工作10年了。


如果我有两辆车,一辆马自达、一辆特斯拉、有一天我要出去见个朋友,那我会优先选择开特斯拉而不是马自达,很自然,特斯拉开起来会比较酷。

但是,如果我没有马自达、也没有特斯拉、只有一辆自行车、你让我放弃自行车走路。
你这不是脑子有问题吗?

放弃嵌入式也是一样
你有没有其他更好的机会,你有把握进入更好的、更赚钱的领域吗?


如果没有,我觉得一技之长永远比吹牛逼来得实际。
嵌入式一技之长对很多人来说是非常不错的职业选择,保证有一份基本的薪水,如果自己脑子想的比较透彻的话,学习一些大平台的技术知识,参考其他的答案,35~50W是比较容易实现的。



提问中提到的代码耦合问题
讲真,嵌入式是一个大杂烩,里面的人太多了,什么水平的人都有,这就是为什么建议大家去大企业,去大公司,去学习大公司的规范,编码规则,如果完成代码的模块化,怎么给自己的代码写测试程序等等。

有的人可以靠嵌入式赚钱,而且生活过得非常好,有的人每年都在换工作,每年都有20%~30%的薪资涨幅,但是还是觉得很担心,还是没有好的生活。

随想,对嵌入式职场建议

十年经验教你如何学习嵌入式系统

我认为嵌入式和酒店里的厨师差不多,厨师需要记住每一个菜品的配料,需要掌握火候,需要对顾客的口感负责。而嵌入式也是一样,需要知道每一个产品的软件硬件架构,需要去写代码实现功能,需要对产品负责,最终也是为了服务用户。

但是嵌入式不应该只是大杂烩,大杂烩的原因可能是因为请不起更多的人,小饭店的老板因为支出有限,需要一个厨师完成所有菜品的制作,但是厨师的精力也有限,不可能面面俱到记住所有的菜谱,如果以前擅长川菜,那粤菜可能就是弱项。

嵌入式也是一样,如果你是做高通平台的开发,你又要从事单片机、MTK平台、上位机软件、生产跟进、zigbee,wifi、ble、Lora、NB-IOT、4G/5G等等开发,势必让你在某个方面做得不好,基于这样的问题,成熟的企业需要配置不同的人员在不同的岗位上。

相应的就会有,安卓系统组、低功耗组、协议开发组、上位机开发组、不同的小组完成不同的事情,如果是安卓系统组,里面可能需要不同的人跟进不同的平台方案,这样才可能一个人或者几个人持续在一件事情上有积累。

而算法,一直都比较重要的,如果没有专门的人对算法有研究,而是让一个工程师网上copy一个代码下来,然后就用上去了,可能解决了当前的问题,至于公司技术积累的帮助是非常少的。

总结下

嵌入式是大杂烩不假,但是嵌入式不仅仅是大杂烩,还是在大杂烩里面不断修炼的精华,那些才是我们需要深入的方向。

2

技术不是前途的关键,把产品卖出去才是。

技术难度越大也不一定意味着产品越赚钱,而产品的毛利越大,卖出去越多才能越赚钱。

对于初学者,我们需要关注单片机、模电数电、代码编写、软件架构、一些常见的通讯编程基础、我们只有掌握了这些,才能成为一个合格的嵌入式软件开发。

在完成这些之后,我们需要把精力放在产品领域,就打个比方,我们现在做智能家居领域,我们需要了解行业发展,了解竞争对手,了解行业出了什么新的技术,新技术的特点是什么。

如果是做手机领域的,需要了解安卓特性,需要了解开发者大会,需要不同安卓版本的小特性和功能。而对于安卓的编译、烧录、每个模块的架构、调试手段、这些都属于基础的操作。

回到提问,我们不应该仅仅关注嵌入式领域是不是有前途,更多的需要关注我们所从事的行业领域是否有前途,是否赚钱,是否有更多的机会。

推荐阅读:

    专辑|Linux文章汇总

    专辑|程序人生

    专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6月份Asp.net源码推荐

整理了一下51aspx上6月份的Asp.net源码,特推荐一些给大家免费下载- 阿江酷站统计系统ASP.Net修正版Hits:262 2007-6-29阿江酷站单用户访问统计系统ASP.Net修正版 通过在要统计的页面潜入js脚本就可以对访问进行详细统计,可以按小时、日、月、年进行柱状图…

在家工作多年再回深圳找工作,会不会丢脸?

jiy发哥好。职场难题,江湖救急,请教你: 我刚毕业曾在深圳待过,那时候真是菜得什么都不会,折腾来折腾去一直没找到合适的坑,所以混了一两年又回老家小城市了。 小城市待遇普通,工作机会不多&…

数独

数独 时间限制:1000 ms | 内存限制:65535 KB难度:4描述数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据99盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个3*3宫内的数字均含1-9&…

Linux内存寻址方式

为什么要内存管理:早期的程序都是直接运行在物理地址上,也就是说这个程序所需要的空间不超过该机器的物理内存就不会有问题,但实际场景中都是多任务,多进程的,这种物理地址reserved给各个进程是不靠谱的。举个栗子&…

DotNetNuke 框架总揽

我总觉的学一样东东,最好是先在总体上对他有一个认识,而后才能更好的学习,最近刚好有机会学习DotNetNuke这个东西,就把所学到的都写下来,与大家一起分享,有不对的地方,大家一起讨论,…

超全!嵌入式必懂的CAN总线一文讲通了

嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也…

Gentle中的数据表实体类相关自定义属性的设置和获得

1.自定义 表名属性 TableNameAttribute2.自定义 主键属性 PrimaryKeyAttribute3.自定义 列名属性 TableColumnAttribute 4.数据表person对应的实体类person.cs5.获得person.cs类型实体 对应的表名及字段名 下面的属性代码文件 都直接建立在App_Code下 以方便使用 1.自定义 表名…

WebSocket介绍

WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。 本文将使用Python编…

干,认识Audio框架还因此发现一个雷

我们最近出了一个问题,我们点击播放音乐,然后再点击停止播放的时候,喇叭还会输出一段杂音后喇叭才会停止输出。经过排查发现,在代码里面就做了这个功能代码在AudioFlinger.h 里frameworks/av/services/audioflinger/AudioFlinger.…

画图板-- 中点算法画圆

为了能以任意点为圆心画圆,我们可以把圆心先设为视点(相当于于将其平移到坐标原点),然后通过中点法扫描转换后,再恢复原来的视点(相当于将圆心平移回原来的位置)。圆心位于原点的圆有四条对称轴…

Linux 内核如何描述一个进程?

哈喽,我是吴同学,继续记录我的学习心得。一、关于写文章许多知识,书上或者网络上都有,就算这两个地方都没有,代码里也会有答案。但有时恰恰是 资料太多,反而让人难以检索出有用的信息。面对同样的资料&…

供应商关系管理SRM为企业的节流增贡献

在供应链下游的需求链上,企业为了增加市场份额、提高销售收入,更为重视面向客户的管理和信息化管理方面的投入,纷纷引入客户关系管理CRM的管理理念和信息化系统,在“客户第一”的经营策略下借助IT技术的手段来提高对客户的服务水平…

UART/I2C/SPI/1-wire四大通信接口的神解释

1、 裘千丈轻功水上漂之UART射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。想从河上过(通信),提前布暗桩,行走时步伐按桩距固定(波特率提前确定),步幅太大或太小都会落水。为…

last_kmsg和ram console

相关文章Android 7.1使用脚本保存LOGCAT和KMSG日志到文件首先,在kernel里面通过printk吐log的时候会是下面的一个过程:printk会将信息格式化到kernel log buffer里面去。然后将这些格式化信息送到console去,在我们的系统里面有两个console&am…

字符串类

1.String类 常用方法: 参考:http://wenku.baidu.com/link?urltz-3Dpwj-JSJQdG6vSo0J1L1G9oJS4eQJjYgogieIzgjdNNLmj-U9EpWhOnVthz4egAKv0SNmLkqzNz2WsiZ2EmPGMu2UXhB6yy-E4yvMQ3 NB: 这里的”s1s2“是地址相等,而是s1.equals(s2)是内容相等…

github网页

GitHub主页创建仓库想必大家都有自己的Github账号吧,没有的可以到GitHub官网注册账号,注册完后,我们来下一步,在我们的GitHub上面右上角的New repository来创建一个仓库。 仓库名必须遵守相应格式:your_username.githu…

有用的Copy-On-write,写时复制

写时复制和写时拷贝是一个意思写时复制是一种策略,并不是Linux独有的,如果你正在设计某个系统架构,也可以参考这种思想。写时复制的英文解释如下Copy-on-write (sometimes referred to as "COW") is an optimization strategy used…

雷军:如果程序人生的话,这条路太漫长

这篇文章是在雷总个人博客看到的,里面聊到了他作为程序员的一些经历、初衷以及思考。写的不错,便转来给大家看看。-- 如果程序人生的话,这条路太漫长我并非天生喜欢写程序,上高中时也没有想过程序员的生活。我学电脑非常偶然&…

51单片机——硬件基础

单片机——硬件基础知识 宗旨:技术的学习是有限的,分享的精神是无限的。 1、单片机内部资源 STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源 (1)Flash(硬盘)——程…

马上工作了,想问下要注意哪些问题?

这是一位读者在知识星球提问的,涉及的内容很多,但是这些问题,我觉得很多人都需要注意,分享出来让大家看,也希望留言说下自己的看法。1一、 offer情况 1. 已签三方 2. 公司是国内靠前的芯片原厂,深圳&#x…