本人想做嵌入式开发,现在比较迷茫,大家有什么建议吗?

本人想做嵌入式开发,现在比较迷茫,大家有什么建议吗?

  大三女,通信工程,广西二本公办(带学院两个字),专业第一,四六级没过(接下来的一年准备拿到)

  拿过的奖

  1.蓝桥杯单片机省一 国优

  2全国大学生机械创新设计大赛省一 国二(帮人家做电控写代码的)

  3互联网+铜奖两个

  4一个通信相关的小比赛省二。

  现在很纠结要不要考研(想考西安邮电大学,家在四川),因为第一学历很差劲,不想后悔没努力考一把 也想再深入学习。又怕考不上错过明年暑假的实习和秋招,但是对于嵌入式了解不多 嵌入式硬件开发、软件开发……如今也没有清晰的定位(会c,AD,仿真,51和32这些)

  直接先出来工作几年积累了经验 和研究生相比,谁更具有竞争力?

  请问大家有没有好的建议呢!

私以为,当下你最重要的任务是搞定英语。

大三了,如果四级还没通过,说明英语的基础比较薄弱。而英语又是研究生考试中必考的科目。

学好英语的方法,网上有太多的经验可借鉴。而对你:最重要的是单词。把词汇手册背到翻“烂”。 专业,你能拿第一,相信英语也能学好。(注:下图中虽然是高中词汇手册,上海卷的词汇手册难度不亚于四级。)

词汇手册1

词汇手册2

是否考研? 要我:只要家庭条件允许,必须考。而且现在就开始准备。

另外至于“嵌入式硬件开发、软件开发… “等等,这个阶段就很少有同学能搞清楚未来的方向,大三、甚至整个本科,学的基本都是基础课和专业基础课,不用刻意的区分软硬件。如果要成为优秀的工程师,这些基础课和专业基础课都必须学得非常扎实。

既然你参加过多个比赛,对软硬件基本的开发流程应该非常清楚,下一步最重要的是如何把每个点做细、做扎实。 我此前的一个回答中有讲如何做到这一点,可以参考一下。

FPGA只会写SPI、串口和IIC,感觉毕业之后会找不到工作,请问下一步应该学什么? – 主任工程师的回答 https://www.zhihu.com/question/543330723/answer/2679109674

完全个人经验和认知的总结,收藏 前加 关注

半路出家的来说两句。

公办二本,电气专业,毕业混了一年多,后误打误撞进了嵌入式这行,到今天差不多有4个年头了,今年出去试了试,某新能源大厂总包给到33w,没去,离家太远。

嵌入式这行是典型的比上不足比下有余。嵌入式作为软件开发的细分领域,薪资垫底是常态,原因并不是因为嵌入式产品少,应用少,相反的,嵌入式应用领域之宽广,不是互联网能比拟的,甚至我认为,嵌入式才是实体业的未来,互联网纯软开发之所以给的高,是因为资本,千禧年初互联网红利爆发,各路资本争相涌入才有了这蓬勃的20年,然后呢?你也看到了,裁员,优化,寒冬,当然这并不意味着互联网完蛋了,这只是事物发展的必然规律,不能否认的是国内互联网的蓬勃发展带给生活的便利和经济的发展,但目前看来这种发展是病态且不可持续的,所谓的必然规律就是良币终将取代劣币,互联网的春天不过是昙花一现。

啰嗦这些,最终想表达的就是嵌入式大有可为,完全不必担忧这个领域的未来。

然后回到你的问题,能读研先把研读了,建议至少985研(普通研也好使,我几个普通研的同学现在一年少的也能有二十七八,嵌入式领域),研究生期间具体领域可能取决于导师的方向,如果自研学习建议直接stm32入门,至少掌握一种实时系统,建议rtthread,然后上linux c或者c++,不建议百度教程学习,最好弄一套原子或者野火的教程(公认最佳),其他的就是稳打稳扎了,还有一点非常重要的,选择就业方向,目前来看新能源领域妥妥的热门,厂子多,应用多,也舍得给钱,不过就是卷啊,另一个小众领域,环保仪器(真的是躺赚),医疗器械慎入,想到再补充。


正好借着一位同学的私信内容做一些补充:

1,mcu上限低,这个说法太绝对了,但是有一定的可信度,这个所谓的上限低是相对linux来说的,linux是一个大型操作系统比拟windows的,复杂度就不用说了,但仅仅一句上限低否定了mcu开发是狭隘的,不论是linux还是mcu都有各自的应用领域,能用mcu的一般来说是对数据时效性、精密度要求高的,如车载传感系统,航海系统,计量系统等等,而且也是成本敏感的行业居多,简单说是量大用的多,所以成本敏感,典型的行业如家电行业,每年都是千万、亿级应用量。mcu关乎实体经济,我认为这不是妄言,产业转型,经济发展,智能制造一定是头排兵,不用担心mcu领域的前景。
2,嵌入式linux方向,依然是嵌入式行业,只不过有些例如基于linux做服务器开发可能偏纯软开发,但本质还是c语言或者c++开发,知乎人心目中的纯软开发应该是js、net或者python一类的吧?在我看来,不论是mcu还是linux,只要没有脱离c、 c++甚至汇编,与嵌入式差别不太大,当然嵌入式侧重点是与硬件设备打交道,常用的硬件无非是串口,网口以及一些外设比如lora、蓝牙、wifi等等,掌握几种基本照葫芦画瓢,问题不大。非科班想从事嵌入式最佳路径是以应届生身份参加实习,实习不用承担重大开发任务,有足够的时间学习和摸索,实习完成后基本具备初级开发人员的素质,这个时候再出去找工作是有优势的,如果是非应届社会人士转行到嵌入式,难度比较大,根据我自身的经验,只有一条路:曲线救国,你可以先通过自身专业进入一家嵌入式相关的公司,熟悉之后可以要求转岗,否则,没别的办法。
3,嵌入式软硬件分离开发一般是存在于稍有规模的公司,如果只是几个人的小公司极有可能需求的是身兼多职的人,也就是说软硬都会,就我个人经验来看,大部分公司都是软硬分开来做。嵌入式入门逃不开stm32,直接学就行了,找个教程把基础的过一遍,原则是教程中出现的源码都要照着敲一遍,不管你有没有看懂,初期学习软件就是要不断的模仿,混脸熟,敲的多了才能谈理解。
4,嵌入式是个很大的概念,不是学了单片机stm32就叫嵌入式了,嵌入式几乎涵盖了所有智能制造领域,而所谓的出路一定是在某个领域深耕。在职考研,我个人认为是要多方面考虑的,第一点,经济实力是否允许,脱产读研还是在职读研,无论是哪种都需要耗费必要的金钱和时间,这方面的成本需要权衡清楚,第二点,研究生对于职业发展是有利的,如果在工作中发现自己的能力、见识的提升受制于学历,那么学历提升是一个很好的进步方式,知道自己的短板并去补齐它,能有这种思想觉悟就已经赢了很多人了,但话说回来了,真的不是逃避工作和现实才选择读研的嘛?我支持在职考研,但要量力而行。

5,嵌入式方面的学习,别搞的太复杂了,你是电气专业出身转嵌入式还是有优势的,依然推荐stm32入门,把标准库或者hal库学一学,再学一个实时系统,这个时候可以出去找相关的实习,还是很多的,进入到实习后务必积极争取一个项目,不管多小多简单,认真对待完成它,纸上谈兵是没用的,当你亲手完成了这个项目,你会由衷的感受到那份自信,这对你将来的学习工作很重要。至于行业的选择,可以试试新能源,钱多。最后说点别的,就咱们这个社会环境,纯技术开发上限不高,说白了你只要能实现业务功能,就叫做胜任工作,这就是做技术的上限,也是很多外行管理内行的思维,同时,薪资也体现了这个观点,做技术的工资是有上限的,当然啦管理类的也有上限,但是这个上限一定高于技术类,那么问题来了,跳过技术直接搞管理行不行?行也不行,行的嘛,天时地利人和,你有吗?不行的,从技术做起,技术转管理的上限一定远高于纯技术或者纯管理,这就叫做知彼知己,懂我意思吧,事在人为,先把技术做好吧。


2022-10-15 21:50:00

本来想再补充点什么,但是关于嵌入式学习之类很多人已经写的很全了,我也没必要班门弄斧了,就基于一些同学的私信来说说吧,我觉得这种形式挺好的。

首先明白一点,跟着教程敲一遍代码的目的不是为了让你学会,而是混脸熟,怎么讲?如果你是真正从头到尾一个不落的跟着敲一遍下来,你大概能记住百分之三十的内容(这是普通人理想的状态,天才另当别论),剩下的百分之七十从哪里来?从实践中来,你可能会疑问了,原子的教程不就是实践吗?其实原子的教程仅仅提供了一个示范,某个方向的demo,比如你跟着他学linux,那他提供给你的就是一个可批量化的linux学习模板,也可以认为是一个标准的、基础的使用场景,但这种场景与实际商业应用还是有一定距离的。我理解你的困惑,因为大家都是这样过来的,认真学了教程为什么会有什么都没学会的感觉?原因很简单:缺乏实景的应用体验,举个例子,从应用开发的角度,教程可能会教你如何编写uart串口驱动,如何实现上下位机通信,很简单,你能实现,但这个时候问题就出现了,你理解串口是什么吗?你知道串口适用于哪种通信场景(别百度)?哪些通信外设?需不需要考虑环境干扰?如果你对于这些都没有概念,即使你实现了串口功能,那么对于你来说,你依然缺乏一个立体的感受,依然没有一种掌控感,因此你会有这种“什么都不会的感觉”,只有通过一个完整的实景操作流程下来,你才能逐渐消除那种感受,那么就呼应到前面了,剩下的百分之七十由所谓的实践获得指的就是各种实际场景的应用,有两个办法,1从网上找一些应用案例,跟着做出来,2找企业实习,这都是后话,不展开说了。

然后,关于考研的问题,我个人的观点一直没变。你还是在校生,目前大三,还有比较充足的时间考虑这个问题,如果你没有较大的家庭负担、经济负担,不需要你尽快工作以反哺家庭,那么一定首选考研这条路,无论是出于前途还是当前就业压力,反之,请认真学习,并寻找实习,为将来的就业做准备。其他想到再说。

本人培训班的,还是菜鸡的那种,实话说,题主很牛逼了已经。

10k的工作肯定是轻轻松松,但15k以上就需要多投简历了。

嵌入式学了3年,最终还是花了几个月转型了大数据,拿了英语流利说和CVTE的大数据开发offer,分享下转型历程。

前言

今天分享的这位是我大学同学赞哥,我在之前的一些文章也提过他,我大学早退旷课实习,都是他在背后帮我打掩护。后面我也尽我自己能力,帮他完成从嵌入式到大数据的跨越,并拿到一些心仪的offer。

可以点击下方链接加入学习群,获取学习资源,一起学习交流~

今日更新| 950个成功转型案例分享(Intel微软IBM亚马逊虾皮 BAT)-大数据学习之路交流群

自我介绍

我目前就职于厦门某大型企做大数据开发,毕业即将一年,本科就读于二本院校。录取专业为车辆工程,奋斗一番成功转专业计算机,加入学院嵌入式方向实验室学习。

前三年更多的是自己学习,没有明确的学习方向和较为系统的学习路线,日常的学习应用于一些单片机相关的竞赛中,也取得了几个国奖。直到大四才后知后觉,目前自己掌握的无法足以支撑日后的工作需求,软件开发的天花板也比嵌入式开发的高,所以大四开始自学 JAVA 转型大数据。

秋招期间,每天跟随锋哥脚步学习,较少面试。春招开始后,面向面试修改简历,准备相关知识。最后拿到了雅马哈、易联众、美亚柏科、CVTE、英语流利说等Java和大数据的Offer。

我的性格

为什么要说我的性格呢?因为我觉得性格是影响我做事的一大因素。我性格是比较中规中矩的,做事也比较按部就班。从大一加入学生会和嵌入式实验室,到后面成为学生会主席,也拿了嵌入式重量级比赛的一些名次,但我也不清楚自己想要什么,只知道这样做。

锋哥让我一起旷课实习我没去,让我旷课旅游我也不敢,让我每天早起学英语我也没坚持。到大四要找工作了,在嵌入式和软件开发之间徘徊,最后也是锋哥帮我权衡了两者,做了最后选择。

我的大学前三年

大一开始想着努力奋斗,初入小社会的我充满激情,从干事到干部再到学生会主席,留任学生会三年;寒暑假期留校学习参加比赛;上课基本第一排,大学期间绩点GPA:3.81 / 4.0(专业前 5%),努力争取荣誉,最终取得了自己满意的成绩。

大一:积极的参加各种组织,寒假期间与同学们一起留校学习,初步学习 C 语言及简单的焊接,在一段时间的努力下结合单片机实现了一部分作品(塔状流水灯,待添加图片)。大一断断续续的学习 C 语言知识,有了一定的正能量反馈,学习时状态保持的不错,但是这个阶段仍处于瞎忙乎状态,想要鱼(实验室)也想要熊掌(才艺社团)。

大二:想提示自己的胆量,提升与他人交流的主动性,于是继续留任学生会。出于对于计算机方向的兴趣,同时留下了实验室。这个阶段无疑是很忙碌的,仍没能好好的提升自己的技术,但未意识到自身存在的问题,进步特别缓慢。虽然在实验的努力取得了一定的奖项成果,与他人的交流也变得稍微主动了,期间有些许沾沾自喜,但是对于自己未来仍没有一个很好的规划——对于自己一定要有阶段性的规划,时间精力有限,无法事事都做到十分。选择一个自己感兴趣的方向,深入学习,先做深做透。

大三:在自己没有很明确的方向之前,鱼与熊掌想兼得的想法仍存在。平时的自己在做事方面属于较为主动型,原学生会主席多次设下满汉全席就为征服我留下,此时的自己没有明确的目标,于是有了三年学生会的难忘记忆,熊掌是拿下。接下来谈谈鱼:实验室的学习没有落下,运气还不错的自己拿了几个国奖,但是嵌入式方向的学习并不系统,无法支撑日后的工作所需。

实验室日常学习探讨

参赛作品

Robotmaster参赛作品

心态的转变

数据库的第一堂课,老师让我们说说对数据库的认识和理解。锋哥拿了个U盘上台,直接把我们图书馆的图书信息拉下来,并现场进行分库分表,讲解主键外键,秀各种操作,听的我们一脸懵逼,听的老师直点头。课后锋哥直接去找老师申请免听,老师同意了。

期末的时候,学校有场招聘,锋哥组织了我们班的同学一起找实习,帮我们写简历,复习,教我们自我介绍等一些面试技巧等等。鉴于上面两件事,让我觉得锋哥一直默默在努力,深藏不漏,于是打算找个机会向他请教请教。

2018年 6月 29日,与锋哥的宵夜局中让自己想往互联网开发方向发展,鉴于某些原因,未来倾向于在厦门发展,对于目前自己的技能掌握有了一定的认知,嵌入式方向的知识掌握的并不足,并且厦门对于互联网开发相对比较友好等因素,当晚毅然决然的给自己定下转型的想法。

对于转型前期,我还是对嵌入式恋恋不舍,毕竟自己也学了三年。锋哥让我更新一下嵌入式的简历,去面试几家公司,可以的话进去实习几个月,这样可以对嵌入式工作有更好的了解。

我当天下午更新好了简历并开始投递,3天面试了4家拿了两家offer,通过与面试官的交流和实地参观,发现嵌入式的工作和待遇跟我想象中还有很大区别,在投递简历的时候发现嵌入式岗位也是有限的,更加坚定我转型的想法。

学习过程

大四上,处于转型阶段的我自带题目寻找满意的毕设老师,并在与老师确定后进入一学两用的阶段。日常的学习跟着锋哥一起去图书馆,补充所需的基础知识。寒假前一个月,着手操刀毕设,同时为了更好的学习氛围在校外租了一间房,锋哥住楼上我住楼下,学习完一个阶段与锋哥进行一次深度交流。

一、Java开发的学习

我先给自己订了个目标:Java开发。由于我只有C语言基础,所以得从零开始学Java。刚开始只学了点Java基础,对于很多细节都还不清楚,但我没有深究。紧接着学Spring,Spring的很多细节我也没有深究,锋哥给我的建议是,项目驱动学习,前期别抠细节,后期再修修补补。

这份Java基础是我看过最完美的教程,对新手最友好的,也是最新的,推荐大家观看。

Java基础视频及对应课件资料(附下载地址)

一直建议Java和大数据程序员必须把 Spring Boot 搞清楚,现在企业中 Spring Boot 太重要了,不管是大互联网公司比如阿里,还是小公司都在用 Spring Boot,现在分享一份学习资料希望能帮到大家。

阿里技术总监整理的《SpringBoot学习手册》,开放下载!

学完Spring之后我就开始做项目,项目不止有Spring框架,还有Redis、MQ、Solr等框架,很多知识都是项目遇到了再及时去搜索去学习并进行总结。

SpringBoot物流管理项目(源码下载)

小公司的Java面试比较喜欢问Spring的一些问题以及关于项目的介绍,更多的是自己说。刚开始面试比较紧张并处于被动局势,面试完及时复盘进行总结,到后面也拿了2家小公司的offer。

有了保底的offer我学习心态稍微稳了一点,又针对Java基础,集合、JVM、多线程做了一些温习。不建议前期直接看书,书又厚内容也不好把握面试重点。我直接从面试题下手,先把所有的面试题整理出来,第一轮针对比较容易理解的,第二轮针对上一轮做标记的进行复习。

每道面试题我都通过博客或其他资料进行理解,并自己输出到文档中。前期整理比较慢和费时间,但后面习惯了也还行,不整理的话容易忘记。这样复习了4遍,对大部分知识点都比较熟悉了,才开始看书系统学习。

这份资料涵盖了Java基础、集合、JVM多线程、Spring、微服务分布式、计算机基础(网络、操作系统)、数据库、大数据等面试知识点,对于Java或大数据岗来说完全够用,大家可以直接拿着它补缺补漏。

Java大数据面经合集(含计算机基础内容,附下载地址)

二、大数据开发的学习

跟着Hadoop学习视频操作了一遍然后就开始学习相关原理,学习方法跟上面的差不多,也是以面试题为主展开,后面有时间再多实操。学完Hadoop和Hive之后看了个数仓项目,了解一些数仓建模的概念。

后续的学习也都是围绕着视频、理论、项目循环着学习。学习顺序就是:

Hadoop -> Hive -> Kafka -> Spark -> Scala

数仓项目:

大数据面试必备数仓项目(附视频和源码)基于Spark的大数据实时项目(附视频和源码)2021年最新Flink实时项目(附视频和源码)

还有像Flume和HBase学习的不多,了解了下常见的一些知识点。

在锋哥鼓励下逐步开始投简历,先从小公司面试起,一小段时间的面试后,心态有所转变,从每次面试中暴露问题,做出相应的总结,回家后开始疯狂弥补自己当前的不足,面试成了我更好认知自己的一条渠道。

面试过程

第一次面试是在校园宣讲会,在锋哥带领下宣战当天的企业,由于知识掌握的不好,首战即挂彩,感到很挫败。本以为自己这个阶段的学习很充分,然而现实给了我一棒子。面试过后意识到自己存在的不足,向锋哥请教如何弥补,并开始了下一阶段的学习。

从开始的一面失败,到后来的英语流利、CVTE说五面通关,一次次的面试,面试过后的疯狂补充,让我越来越有信心,Offer 也一个个朝我扑来。

一、流利说部分面经:

流利说问了很多Java的题目,大数据框架原理居多,个别围绕着项目展开。

1.CAP理论

2.kafka producer的写入数据过程

3.kafka为什么使用拉取消息的机制

4.Spark工作流程

5.Stage是如何划分的,task如何划分

6.executor内存分配

7.HBase写流程

8.hdfs的写入文件流程

9.java实现LRU

二、CVTE

CVTE的HR面了3轮,问了20几个关于我个人信息、规划、学习等问题,最后问我要不要转岗去嵌入式,薪资比开发还略高些,被我拒绝了。

这些都是我阅读过的优秀书籍,里面涵盖了计算机大部分的知识,我也做了详细的归类,已经整理到网盘了,大家可以自行下载。

计算机必备书籍(持续更新,附下载地址)

总结与建议

跟着锋哥学习的过程成长特别快,感觉自己前三年的自学太不系统了,转型后有一条清晰的学习路线,阶段性针对学习。

1.学习之前要对自己有个系统性的规划,定下自己的学习目标,分解学习过程,结合实际场景进行实践。

2.执行力、自我驱动、大量的学习,沉下心磨炼自身技术。

3.保持正确的心态,多与引领者交流,明确自身不足。

4.持续的回顾和总结,遇到问题不能钻牛角尖,也不能一笔带过。

5.分享自己的阶段性总结,从每个小过程中找到认同感,成就感。

6.有固定和阶段性的目标,围绕目标深入思考。

嵌入式从业者,18年从上海某二本院校毕业,至今四年全在做单片机相关工作,岗位名称“固件开发”,以cortex M3、M4芯片为主。

四年薪资大概情况(只算税前月薪,不算其它绩效、奖金):12K、14K、18K、20K。部分涨幅是跳槽,部分涨幅是内部调薪。


1、如果能够读研,请去读研。以下内容为个人感受,毕竟我没读过研。

最直观的好处:学历是块敲门砖。

如果有机会,可以在研究生期间看一下细分方向,找自己比较感兴趣的。

本科毕业,其实比较general,具体做什么,完全看能找到什么工作,像我这样的二本学生,其实没什么议价权。

但是如果能去个好点的学校读研,至少会有一点议价权,找一个个人比较感兴趣的方向。


2、做单片机需要哪些知识。

仅仅从我的个人经历做介绍,难免有遗漏,如有大佬,欢迎补充。

我待过小公司、大公司。

小公司的意思是“知识点覆盖面多而杂,只要项目用到的都要知道”。

大公司的意思是“专精于自己的岗位即可”。

比较通用的:软件使用(IDE之类)、版本管理软件(git、SVN之类)、查问题的能力、吹牛逼的能力、出问题的时候扯皮的能力,时间预估的能力

先说大公司吧,这个根据岗位内容来,直接去搜对应岗位描述就行。比如做蓝牙协议栈的,那就盯着协议栈去做,比如做射频的,那就盯着射频去做,这个看公司招聘描述就行。大公司很多嵌入式岗位其实已经和底层没啥关系了,比如UI。

小公司就比较杂了,用到的都要会。

原理图要能看懂;基础通讯方式要会(比如IIC、SPI);基础外设要会(比如PWM、看门狗);芯片设计手册要能看懂;通讯协议要能看懂和实现;RTOS要了解;

简单一点例子就是:买一些现成的小车支架,然后自己从零开始去写一辆遥控小车的代码。这个搞完,基本的内容其实都会牵涉到,当然进阶的话,那就另当别论了。

然后各个公司,还会有一些进度管理、需求管理、bug管理的软件、流程,这个根据实际情况来就好,一般研发岗不会太重点关注这些


3、找工作相关。

这个不确定,目前我比较稳定,没有去关注市场需求。

朋友在某汽车电子相关公司,前段时间问我有没有兴趣,可以内推我。

也有朋友想拉我创业。


如果有啥想问的,直接留言

虽然在知乎大佬面前属于班门弄斧,但是也想分享一下自己的内容

本人想做嵌入式开发,现在比较迷茫,大家有什么建议吗?

想获得更多考研相关资料

京ICP备14027590号