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 大厂/华为:国产操作系统还有很大空间。找到一个对标的工程师,跟着他走向专家路线。对比没有意义,关键是你在一条路上深耕。

你的土壤:公司就是你的土壤。选一个稳定的平台,依托它成长起来。

一段很抽象的话,但很重要:

你确定一个思路,你才有可能成长为资深。如果不是这种心态,你到后面会发现一直都是初级,只是你年龄增长而已。

全部评论
回答很实用,规划明确
点赞 回复 分享
发布于 昨天 22:37 辽宁

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务