26届双非本211硕,入职信创国企 OS 岗,如何规划技术发展路径?
网友提问:
YT 哥您好,我是 26 届双非本 211 硕自动化学生,已确定入职信创某软件国企做服务器操作系统方向。目前在动手做简易 OS,但对职业发展和能力要求很迷茫,恳请您指点:
1.自己动手做 OS(如参考 xv6、MIT 6.S081 等)对实际工作帮助大吗?还是有更贴近信创岗位需求的实践路径?
2.在国企信创环境下,操作系统方向的工程师一般会经历怎样的成长路径?从初级到资深大概需要积累哪些能力?内核、虚拟化、系统安全等细分方向您更推荐哪条?
3.在国企做操作系统,长期来看和去互联网大厂/华为做内核开发相比,技术深度和职业发展有什么差异?是否建议在国企积累经验后再考虑跳槽?
目前比较迷茫,希望得到您的建议,非常感谢您百忙之中的解答!
Yt回复:
一、先看背景
- 学历:双非本 + 211硕
- 入职:某信创国企做操作系统(麒麟这类做国产操作系统的企业)
- 当前动作:自己动手在做简易OS
关心的问题:
- 自己做简易OS,对实际工作有多大帮助?
- 国产操作系统工程师的成长路径是怎样的?
- 国产操作系统 vs 互联网大厂/华为做内核,职业发展有什么差异?
二、关于自己动手做简易OS:意义不大,还不如了解Linux
很多朋友有点想当然:我去了做操作系统的公司,我自己做个操作系统,是不是对工作有帮助?
各位朋友请注意:你做的这个操作系统,即使从0开始做,作用也只是自嗨。
为什么?
因为当你加入这家企业,你大部分的工作跟操作系统内核没有多大关系。操作系统本身的东西,它已经做好了。
这类国产操作系统公司,基本都是基于Linux系统,在上面再做一层shell、做软件管理。核心内核已经完成了,你要做的不是从0造轮子。
你自己实现的OS:
从启动开始、Bootloader怎么运行、代码第一行怎么运行、怎么main……
用虚拟机还是老版本的Bochs
前面启动部分还用汇编
这些东西,跟你后面企业里面做的开发,中间有巨大的脱节。
编译环境不一样,编译流程不一样,所用的工具都不一样。
它有什么价值?没有任何价值。唯一的一点就是解决你自己的学习问题,但对企业来说,一点用都没有。
我认为你后面去了这家企业,还不如去了解点Linux,比你手写这个OS要好很多。
你可以:
了解下未来入职的这家企业,如果它是基于Linux的,你就去了解Linux
装一下这家国企做的操作系统(比如麒麟),自己体验一下
你就能知道你的工作是在哪一个板块
不要以为做国产操作系统,和自己实现OS是一回事——这就好比把计算机网络和网络编程当成一回事一样,其实没多大关系。
三、关于成长路径:所谓初级、中级、资深,只是一个逻辑概念
你问:从初级、资深大概需要经历哪些东西?
首先,所谓的初级、中级、资深,这是一个逻辑概念,不是一个真正的定义。
有些朋友还给自己分初级、中级、高级——但现实中,做开发这条路上,是有天赋存在的。
你会发现:有些人成长很快,有些人干10年都一个样子。
当你步入社会,在企业内部,你会发现有些人能够成长得很快,不要多长时间,他就能够在企业内部做到闪闪发亮、熠熠生辉。
给他问题,他就能搞定
难的问题,他孜孜不倦研究搞定
容易的问题,他也能搞定
慢慢的,周围的人对他很信任。
而有些人,不管他工作多少年,你发现他都是个“水货”。
所以,所谓的初级、中级、资深,是建立在一个大前提下——你本身就是一个很厉害的人,才会有初级、中级、资深之分。
如果你本身只是混个工作,那不管你工作多少年,你一直都是“初级”,只是年龄在增长而已。
四、你应该保持什么样的心态?
当你加入这家企业,你肯定会遇到一些“老油条”:
在吃饭的时候告诉你:这家公司现在有什么问题,以前牛逼的人都走了……
给你灌输各种负能量
有些朋友真的信了,有些人选择裸辞,有些人在这家公司就这样混下去。
我的建议是:你给自己立个志——不需要对外面说(说出来有点像吹牛逼),但你自己心里清楚:
我在这家公司,就要干成最优秀的工程师,我要成为这家公司最牛逼的工程师。
你会发现,当你有了这种心态:
看待事情是不一样的
解决问题的心态是不一样的
慢慢周围的人对你越来越信任
后面包括提干、升职加薪,都会不一样
你去一家公司,不是为了“学”,而是为了帮助公司解决具体问题。你需要依托公司成长起来,逐步让自己成为这个公司最牛的工程师——后面有问题都找我。
这就是所谓的:在一个团队内部,做到闪闪发光、熠熠生辉。
这个过程,你可能不需要多长时间。
你也会看到,一个团队内部:
肯定有那么几个很厉害的工程师(不然产品做不稳定)
肯定也有几个工作很多年一直升不上去、给到问题全网都瑟瑟发抖的人
做一个什么样的工程师,取决于你个人的心态。
五、关于国产操作系统 vs 互联网大厂/华为做内核
这个问题问得很抽象。
首先,我们出来工作,无外乎就是:
使自己的收入越来越高
并且能够稳定地越来越高
那么,怎么才能做到这一点?
你得依托一个稳定的平台、一个稳定的公司。在这个过程当中,你才能够长成大树。
公司就好比土壤,你就好比土壤上的一棵树。刚开始加入的时候,你可能只是一个小树苗,但慢慢随着你在这家公司待得越来越久,你就成了公司的一部分,慢慢灌输自己的思想在里面。
回到这个问题:
国产操作系统,目前还有很大的用户空间。
国内PC端基本都是Windows,服务端(腾讯云主机)有用Ubuntu、TencentOS(也是基于Linux定制)以及BSD的。国产操作系统如果要弥补国外这层缺口,还有很大的空间可以走。
这个行业,还是一个比较不错的行业。
我给你的建议是:
加入这个团队之后,看看公司内部有没有往内核里面提交patch的工程师。找一个对标的工程师,让他带带你,你后面能够做到他那个样子。
他往内核里面提patch,你也提一小部分,逐步靠近。慢慢地,你就能走向一条专家的路线。
至于后面你所说的“对比”——我认为这个是没有意义的。
六、总结
自己做简易OS:意义不大,还不如去了解Linux,体验一下你们公司的操作系统。
成长路径:初级、中级、资深不是定义出来的,而是取决于你自己的心态和能力。有人成长很快,有人干10年还是水货。
核心心态:给自己立志——成为公司最优秀的工程师。去公司不是为了“学”,而是为了“解决问题”。
国产操作系统 vs 大厂/华为:国产操作系统还有很大空间。找到一个对标的工程师,跟着他走向专家路线。对比没有意义,关键是你在一条路上深耕。
你的土壤:公司就是你的土壤。选一个稳定的平台,依托它成长起来。
一段很抽象的话,但很重要:
你确定一个思路,你才有可能成长为资深。如果不是这种心态,你到后面会发现一直都是初级,只是你年龄增长而已。

查看4道真题和解析