跟@吴章金falcon 是大学本科同学,他在我们寝室对门,走Linux这条路的同学都应该向他学习一下,现在是真正的大牛,非常厉害。
小吴同学是好学生的标准样板,大学期间成绩很好,对Linux研究的也很深入,保研以后不管成绩还是动手能力都非常优异。
我说一下我自己,我在我们班级混的应该算是中等偏上的水平,在码农里算是混的还可以的(注:有一些人改行了,最厉害的还是小吴)。
学习成绩比较一般(但也不能太差)的同学可以参考我的经历:
大学期间的技能训练方面:
我不属于一个好学生的那种类型,成绩排名中等,本科毕业没继续念书(也考不上),大学期间还挂了几门课。
能混到中上水平,主要还是依托动手能力(专业实验课没有低于80分的),动手能力其实是一个很虚的词,我个人认为的动手能力就是写代码的能力,简单粗暴的说,就是写了多少行代码。
毕业设计做了5000行的C语言代码,学的东西很杂,在学C语言之前,从高中开始接触VB,还研究过ASP/JSP之类的,还搞过ACM(很菜)。
但我大学期间基本没怎么碰Linux方面的东西,我觉得嵌入式入门阶段,是否接触Linux不重要,重要的是动手写代码。因为早期(尤其是本科阶段)想要深入了解Linux是需要花很多时间的,在编程技能没提高上来之前,所谓的学习Linux,大部分其实是在折腾各种发行版,不如用GCC写点代码实在。
企业招人,其实还是看重的是你能不能干活,而不是会装什么版本的Linux,又不是招运维。
所以,大学期间需要做的就是编码编码编码……我大学(本科四年)期间大概有十万行的编码量,虽然也不是太高,但至少已经超过大部分人了,有了编码总量,自己的能力肯定会有提升的。
不停的编码、做东西是毕业以后能找到好工作的关键,不要说找不到项目,不知道该做什么。不知道做什么就从仿造现有的软件开始,做个通信聊天工具,实现一个压缩算法做一个自制的压缩软件……这都是练手的途径,只要动起手来,能力总会提高。
就业的选择:
就业这方面,我想说的是很多时候,能到什么样的公司,以及未来的上升空间,个人能力和现实机会(其实就是运气)各占一半,甚至后者更重要。
智能手机刚开始出现的时候,很多人加入小米、魅族的时候,也没想过后来会这么火,但智能手机还能火多少年也不好说;再早些年,社交媒体也很火,新浪微博、人人网给的offer都不低,但现在呢?
嵌入式长期以来在码农圈里收入不算高,但也不低,这几年确实比互联网要低,但至少比大部分其它专业毕业的人要高一些。
但是竞争压力什么的,一直都是有的,计算机专业内是可以转行的,从互联网转到嵌入式(或者反过来),不是没有可能。不要觉得来做嵌入式就没人跟你竞争,竞争一直都存在的。
能不能成为大牛,要看你自己努力的程度。在这里我给你一个数据:我们大学本科班级,毕业十年至今还在一线做开发的,不到十个人,全班按40人算吧。你自己能不能,要看你能不能在这个行业长期坚持下去。
很多时候,能进什么样的公司、公司好不好,跟现实的机会有很大关系,能在毕业的时候马上就能拿到一个好的offer,是要靠运气的。而不好的offer也没关系,不好的offer才能让你有改变的动力,有重新选择的勇气(我记得小吴同学第一份工作工资就低的吓人)。
本科毕业十年的嵌入式薪资水平,也要看你具体在什么行业,薪资范围很大,低的一年30W的也有,高的一年100W的也正常,看个人能力,更要看所属行业,以及所在的城市。
能给你的建议就是好好提升自身能力,成绩别太差,入行以后只要一直坚持在这个行业,如果第一份工作很不合适,找准机会马上换掉就是了。
码农最重要的技能是编码,编码能力高,工资最终不会太低的。
2021.2.18 日更新:
创业快 2 年,陆陆续续看到很多同学还在关注该话题,忍不住简要做一轮更新,分享一下近况,也做一波对读者必然是有益的广而告之。
期待来年再来分享,也希望大家从中有所收获,欢迎私信联络进一步交流。
2019.9.7 日更新:
从前公司离职有一段时间了,目前还在家休息和思考,之前由于在带团队,不是很方便正面回答薪酬问题,这里简单跟大家一起讨论一下。
嵌入式行业目前就业情况还不错,除了稍有下滑的手机行业,汽车和电动自行车大屏、充电桩、AIoT、各类学习机、智能手表、智能音箱、视频监控、扫地机器人、芯片开发、云计算虚拟化等领域都需要 Linux 的同学。
嵌入式行业的整体待遇情况,抛开那些比较特例的情况(公司上市股票套现、利润超多分红奖金、自己创业当老板、华为博士等),据了解和观察,行业大体情况如下(因行业会有一定的差异,以下只是给出一个参考带宽,非绝对;除了基本月薪,一般都会有配套的五险一金,要注意点数会有差异,1 个月起的年终奖等):
刚毕业,有一定的 Linux 基础,本科和研究生在 8 ~ 10k 起。
毕业 1~3 年,基本要能独立承担某项工作,9k~20k 起。
毕业 3~5 年,成为某个方面的骨干还具备指导新人的能力,15k~30k 起。
毕业 5~10 年以上,独当一面,成为某个领域或多个领域的专家,能建立技术体系,具有一定行业影响力,能牵头组织解决重大疑难问题,20k~50k,部分企业可能在 20~30k 以上就采用年薪包的方式,用低月薪+绩效年终(2~数个月~数十个月)打包的方式,以便让大家能够持续主动自愿 996 去“超越自我”,达成更好的业绩。
下面简述几个很重要的内容:
答主最近在家思考的同时,一方面做做开源项目,另外一方面,也在思考怎么样把一些成长的切身体会和行业观察以某种方式呈现出来,以便帮助更多在迷茫期的同学少走一些弯路。
欢迎大家+微信 tinylab 进一步沟通,也可以了解下答主即将于 10 月中开放的 Linux 码农基本素养提升计划课程。
~~~~~ 以下为首次回答 ~~~~~
谢邀,同时为题主积极思考职业发展点赞。
答主自己本科就是 CS 专业,研究生从事嵌入式实时系统(操作系统)方向,实习和工作分别在芯片公司、OS 公司和产品公司呆过,上下游走了一遍,业余也搞过各类社团、比赛、开源项目,现在管理一个小团队,也为业界搭建了一个小小的交流平台(http://tinylab.org)并正积极思考和践行嵌入式教与学的便利化。
希望下面的回答能够起到抛砖引玉的作用。
> 知乎乃至整个互联网,非常缺乏从事嵌入式行业的前辈。
非也。51CTO,CSDN,ChinaUnix,开源中国,Github 等平台以及其他各类软硬件开源社区,汇集了一大帮从事相关行业的同学。甚至知乎也有蛮多相关内容。所以,感觉题主对搜索引擎的使用或者对业界的关注深度可以再进一步,包括专业媒体、校园比赛、开源社区、还有专业论坛甚至是行业峰会。这些都是接触业界同行,了解行业趋势的途径。
> 当周围cs同学能精准判断出,自己毕业后所属公司和大致薪资,并为之努力时,嵌入式方向的学生却非常迷茫,也导致很多人转向cs。
首先,如同其他同学提到的。嵌入式只是 CS 的一个方向,不好说嵌入式转 CS,反倒从系统角度用不同 layer 来理解会更好,或许可以说转到上下游不同 layer。从上到下或许可以这样看:项目管理,需求分析、UI设计/交互、软件(Web、App、游戏、大数据、云服务等),中间件/Framework,OS(内核、BIOS/Bootloader、其他Firmware、驱动、稳定性、性能、功耗等),硬件(电路、PCB、射频、天线等),结构,材料,机械等。
嵌入式狭义来讲差不多可以涵盖Framework,OS,硬件,然后逐步上下延伸。广义来讲,嵌入式领域的开发其实也涉及整个系统的方方面面,有些岗位或者职责需要对整个系统架构有一定的了解,做到一定程度的上下融会贯通。有些规模稍小的公司都是一个人承担好几个角色,不一定会划分到那么细。
从用户的角度来看,嵌入式产品蛮多最终形态或者载体是设备,典型公司有华为、中兴、Apple。而软件方面则是Web服务/大数据、App、游戏,典型公司BAT。后者吵的热火朝天,攒得盆满钵满,其实,前者也不赖,只是后者资产轻,用户规模大,增值服务多,来钱快(资金流,规模效应,无库存风险等),本身掌控媒体资源(网媒也是Web服务,微信App也是个大媒体),声量大。其实,前者只是整体薪酬水平可能稍低一些,但是,就长期回报和个体情况来看,也不一定分出个高低,而且相比较而言,前者的准入门槛可能还稍微高些,越是到底层,随着时间的变化,技术的更新换代更慢,持续积累的可能性更高。
另外,这两类公司其实也有很多交叉的业务,都有相互渗透或者合作的趋势,嵌入式的专业知识可能在两类公司的某些部门都有需求。比如说阿里有Yunos、而淘宝基础设施也要操作系统支撑,腾讯有微信硬件平台、也有安全管家之类的系统级App。
本质上还是要看实际能力和努力程度(参与度,学习热情,工作态度:消极应付还是作为创业者全身心投入),与公司具体用人部门的契合度以及是否在恰当的时机进入。
所以,表现得很迷茫其实感觉可以加强对信息的了解,做好应对,做足准备,以便增进信心。继续加油。
> 为什么从事嵌入式和电子行业的前辈们,很少谈及薪资?作为从事嵌入式行业的前辈,您是否愿意匿名谈谈自己的薪资和求职经历,为后来者点亮一盏明灯。有前辈愿意讲自己的求职经历吗?
其实这个问题跟上面也有点关系。从事嵌入式和电子行业的同学本来做的东西蛮多就不是直接跟用户打交道的,所以也不好跟用户吹嘘,用户根本看不到,没得show,即使是想吹的,也没大有机会和渠道,因为媒体资源被其他同学掌控了。还有一个是从业人员需求和规模差异很大,越是上层,从业人员会更多,一个设备可以承载成千上万个App,这个也会造成感知上认为“缺乏”嵌入式同行,实际也是相对基数少一些。
另外,薪资本身也是比较保密的内容,在学校可能还意识不到,在公司是保密协议规定不能泄露的内容,因为薪资本身比较敏感,由于不同的同学对薪酬或者拿到薪酬的人的了解程度或者看问题的角度本身是有差异的,不可避免会造成各类困扰,但是无论有多么可能的不公平性存在,薪酬最终最核心的部分还是基本会与我们对公司的贡献或者业绩表现挂钩的,不然老板怎么攒剩余价值,或者说在经济形势整体下滑的当下,加上竞争的日趋白热化,在发完员工工资后,企业怎么样才能在确保生存的基础上去创造更多利润?
所以就薪酬而言,专业技能和软性素质(责任心、正直、协作)以及业绩产出(坐等安排还是主动思考,积极寻求突破,承揽挑战性工作)是最为关键的。行业薪酬只是一个整体带宽范围稍有差异,但是落在哪个带宽跟能力和产出正相关,这个才是决定薪酬的根本因素。当然,这个前提是自己还得必须了解行业趋势,加入一些必要的专业圈子,避免被上司“忽悠”(可能上司或者HR对行业趋势了解程度或者敏锐度也不够或者公司环境和现状使能),觉得能力和产出都超群(超出当前薪酬带宽)时可主动约谈上司求加薪,经过充分权衡后有必要也可以考虑另择高枝。类似无秘那些“奇葩”的管道信息很“负面”,再真真假假、奇葩怪诞,自行过滤后或许也可以看看趋势。
另外,就薪酬而言,除了每个月的基本薪资,其实有很多其他构成部分,比如说五险一金社保公积金(基数、比例差异大大)等基本福利、各类餐补车补话费旅游费、年终奖、绩效奖、专利奖励以及其他奖项、政策性退税等,还有一个很重要的是,传统的设备设计与制造行业和新兴的智能设备创业公司也被互联网行业熏陶,要共赢,也给员工分期权或者股票,根据业绩和上市进度差异,这部分不一定马上能套现或分红,但是可以根据了解到的信息综合分析其前景。
补充一个很重要的因素。薪酬有很大的地域差异。各个地区的生活成本和政府政策各有不同,有些差距还很大,可以提前做足够了解。比如北上广房价整体大五万一平,有些地方大五千,房租也是相差很大,几千块到几百块。而有些地方有退税政策,鼓励高新人才就业,有些则没有。当然,技术氛围和择业范围也会相应有差距,大城市的技术沙龙和可选公司也会较多,对开拓事业,增加就业选择机会也有好处,小地方则会受到一定限制。
至于求职经历,可以有很多层面:
0. 人才市场,好像 CS 专业比较少去
1. 校园招聘,准备简历,投简历,笔试,面试
2. 企业实习。表现好(够努力,多思考,善于求助,有亮点成绩),有岗位空缺的话可以直接拿Offer,甚至面霸很多企业,Offer 拿到手软
3. 成绩AAA,各类比赛,各类项目,超牛掰论文,直接拿很多公司Offer。
4. 有主导或者参与知名开源项目(比如在 Github,内核社区等),或许会收到企业或者猎头主动邀请
5. 通过亲戚朋友、师兄弟、老师、同行等推荐,前提是足够有实力,别坑推荐你的同学,不只是卖面子的问题,实际还是卖能力
6. 参加专业培训,系统地培养和提升一些专业能力
7. 先去到一家有实战机会和技术氛围的公司锻炼系统地提升技能
以上都有碰到过,不一而足,但努力程度够就不要担心起点低,起点低很多时候除了努力不够,也可能是缺少碰到“开窍”的机遇(合适的人,合适的战友,合适的导师,合适的事情,合适的时机,合适的环境,然后思维的天窗打开了)。如果碰到了,一定要努力改变。事在人为,勤能补拙。
> 本科研究生期间有什么技术积累?如何准备校招?如何选择适合自己的公司?
作为偏工科类的专业,基础(学科知识点理解深度和系统性、全面性),动手能力(实操的经历,项目、比赛、论文),以及一些通用的软性素质(分析、归纳、协作、创新思考和突破),还有一些基本素质(责任心、正直心)。当然,有出色的研究创新和牛逼的论文发表也很赞。这些方面通通要有真正的实践,亮点和举证,无法敷衍了事。
关于如何准备校招,感觉提前把自己框定到其中一类求职途径了,其实上面也提到还有很多其他的途径可以尝试。校招就是准备简历(简洁,清新,突出亮点)、笔试(基础扎实、智力题or软性素质题)、面试(正直、靠谱、实战能力和软性素质表现与举证)。
选择其实很艰难,但是如果心中预设了一个五年计划那就会好很多。不妨结合现状,先制定一个大概的五年计划,想象一下五年后自己梦想成为什么样子,如果要达成目标现在该怎么努力和规划,至于公司选择,就看能不能有利于达成自己的五年计划。在这个五年计划的背后其实还有一个支撑自己更长久的东西,那就是对人生价值的思考。
现在的学习环境越来越便利,资源和交流的开放程度越来越高,愿充分借用各类环境和资源,创造出一个充实和快乐的学习生涯。
祝好!愿有一个美好的前程!愿充分享受追求梦想的过程!