楼主对内核的研究算是比较深入的,有给 lkml 发送过一些 kvm 虚拟化相关 patch ,虽然还没有被合入的,但都有收到过审阅者的回复:
https://lore.kernel.org/all/?q=%22Dongli+Si%22
本想凭着给内核贡献代码去找内核开发的工作的,现在却因为学历问题连个面试都没有(我高中都没毕业,今年 25 了也没去自考过啥学历),导致我都没法再激励自己继续去深入研究 Linux 了,想找个跟我的能力比较匹配的工作,请各位 v 友指点我比较适合去干什么。
ps:不要说让我去考清华法学博士之类的话。
1
kinghui 2023-01-31 18:04:43 +08:00 3
大佬这是直接开地狱模式啊。/狗头
以我的经验,这类工作本身不像业务开发有很多岗位,加上这类岗位恰恰是对学历要求比较高的一类,所以感觉你这是给自己开了个地狱模式。 |
2
webcape233 2023-01-31 18:04:51 +08:00 via iPhone
学历太低,挺难的,在国内。 可以尝试从 linux 运维相关入手工作。
|
3
henryhu 2023-01-31 18:10:19 +08:00
多看看其他开发领域,不要死磕内核开发
|
4
adoal 2023-01-31 18:12:31 +08:00
你不走常规的路,常规的路就不会让你走。还是去搞个学历吧。
中国的 IT 内卷得这么厉害,招人卡学历并不是因为学历高一定有用(不过其实大多数时候还是有用的),而是作为一个概率意义上比较合算的人才过滤门槛。 |
5
FabricPath 2023-01-31 18:12:38 +08:00 16
这是一个死循环,没有相关的工作经历 -> 遇不到生产环境的 Bug 、收不到新需求 -> 难以深入研究某个模块 -> 只能做些边缘小修小补 -> 找不到工作 -> 无法获得工作经验
还有一个问题是,内核本来就很难找工作,互联网公司里面,养内核团队的公司看不上你学历、不嫌你学历的公司养不起内核团队。 对于这种情况,一律建议转 CURD ,先活下去、获得工作经验;如果继续在内核方向的话,需要选一个方向深入研究,争取混上某个模块的 Maintainer 。 还有一个方向是嵌入式方向,一堆小公司魔改内核,也可以试试。 |
6
sadfQED2 2023-01-31 18:17:35 +08:00 via Android
先搞个学历吧,高中都没毕业去哪都过不了 hr,就算过了 hr ,你就提了几个没被合并 patch 的水平也不值得破格录取
|
7
yuzhibopro 2023-01-31 18:22:51 +08:00 2
还不让说。不让说,你就继续头铁吧。
|
8
qemu32 OP @sadfQED2 感谢回复,patch 没被合并我确实不敢说自己有多牛,但是 boss 直聘上投的的公司我都有问清楚,学历必须得是全日制,我投递的职位目前还没有因为我缺少一个自考的学历而把我拒掉的,那么我的情况自考个学历有用吗?或者说如果用处很小我还有必要花时间花精力搞个自考的学历吗?
|
9
qemu32 OP @yuzhibopro 我是不想听讽刺的话:
https://www.v2ex.com/t/804765 就像这帖子 3 楼的回复,对楼主一点儿用都没有,就是拿楼主当笑柄,我哪里想得不对 v 友们可以批评指正,但讽刺是没有必要的。 |
10
HENQIGUAI 2023-01-31 18:28:57 +08:00
买个网络教育,然后考研
|
11
sadfQED2 2023-01-31 19:03:42 +08:00 via Android
@qemu32 考一个用处也不大,但总比没有强呀。退一步讲,你现在不去考学历,还没干啥呢。考学历就是死马当活马医。
不考学历的话,除非你写出让 linux 加大版本号的功能,不然我认为你就算有几个被合并的 patch 也没啥用 |
12
daimubai 2023-01-31 19:14:08 +08:00
挺佩服楼主的,能不去想未来专心研究一年多,我做不到,我在学习的时候就会很焦虑以后能不能找到工作而放弃,希望你可以顺利
|
13
luckyrayyy 2023-01-31 19:15:48 +08:00
找点非主流的远程工作呢?
|
14
Mirana 2023-01-31 19:19:17 +08:00
越狱黑产之类的?
|
15
FranzKafka95 2023-01-31 19:20:22 +08:00 via Android 3
其实 OP 挺厉害的了,不过有这份能力为什么高中都没毕业你没有说明。现实生活中,能力比你强学历比你好的有不少,国内这么卷学历就是敲门砖。不过你可以试试一些国外的机会(英语够好的情况下),祝你好运。
|
16
showgood163 2023-01-31 19:23:21 +08:00
看看国外的招聘网站上有没有相关职位?
|
17
ivan_wl 2023-01-31 20:06:58 +08:00
楼主你好,请问坐标哪里?
|
20
bzzhou 2023-01-31 20:16:30 +08:00 1
如果你在深圳,可以先从做 BSP 、内核移植、驱动这块开始切入,目前市场上这块需求多,门槛相对比内核低很多。
|
21
Aloento 2023-01-31 20:17:01 +08:00
nnnnnnnnnnnnnnbbbbbbbbbbbbb
|
22
nevin47 2023-01-31 20:20:28 +08:00 32
我看了一下 OP 的几个 MailList 的内容,主要局限在了几个 KVM 、perf 和工具的非核心点上,而且我不是太明白为什么大多数还聚焦在了 AMD 的 SVM 上面(是 OP 手上暂时只有 Zen 架构的芯片?)
这几个贡献要作为内核工程师找工作的敲门砖说实话真的单薄了点。 OP 如果还是想继续作为 individual researcher 参与到社区的话,我给几个不一定非常成熟的建议(最近两年我也没怎么搞虚拟化的部分了): 1. 务必贴近主流架构,Zen 千言万语,还是比不上当前 Intel 的热度,甚至 ARM 虚拟化的热度都高于 Zen 2. 如果非要在虚拟化领域找点,尽量跟踪当前社区中大的兴趣点,有个取巧的办法:追着大公司的 patch 走准能把握热点 3. 找个相对大一点的研究中心,深入进去,提交一些大规模一点的、有意思的 RFC 上去,比零零碎碎的 patch 更容易吸引人 祝 OP 能继续在 Kernel 中寻求到快乐 |
23
zhangyichent 2023-01-31 20:21:02 +08:00
稍微大点的公司都卡学历(我们公司 80 个人都卡学历 211,985 才行),只能去小公司试试我觉得。
|
24
nevin47 2023-01-31 20:22:41 +08:00 3
@bzzhou #20 20 楼的建议很中肯,Kernel 领域切忌闭门造车,先接触到实际的开发和需求了,才能跟随着社区一起成长。而且做操作系统需要不断补充体系结构的知识,自己闭门造车很难获取到所需要的知识
|
25
iloveayu 2023-01-31 20:54:09 +08:00
学历:先花钱研究个高起专,挂机练级,占不了多少时间和精力。
工作:找找小厂的初级运维,以楼主的水平,日常的工作一个手就干了,还可以多摸摸设备,折腾折腾还能多套虚拟化实验环境,嘿嘿。因为学历问题,面试估计得找 HR 单聊或者朋友介绍了。 研究 Linux 内核:不耽误,上班摸鱼看文档,下班回家接着折腾,坚持。 |
26
litguy 2023-01-31 21:38:53 +08:00
对 fs 和 block 子系统了解怎么样
|
27
triptipstop 2023-01-31 21:41:53 +08:00 2
我也是初中学历,一开始就没想着找工作。
自己接单自己干,一个人的外包公司。 后来靠着项目经验,面试很少有不过的。 找工作是我挑公司,当然啦,都是小公司。 至少是,从来没当过小弟,直接就是小领导。 |
28
chuck1in 2023-01-31 22:01:50 +08:00 via iPhone
@triptipstop 老哥为啥不继续接单要出来工作呢?是因为接单不好做吗?
|
29
Rocketer 2023-01-31 22:08:20 +08:00 via iPhone 1
说实话,我要是老板,也不信一个没学过高等数学和线性代数的人能把内核开发做得很好。
|
30
Andy223 2023-01-31 22:24:42 +08:00
回去拿个本科学历,喜欢做研究的话,硕博读起来。现在这个学历,非常非常难,即使你很牛,实话实说。时代不同以前了,现在学历放水,没有学历的更加得不到机会。
|
32
yangzhezjgs 2023-01-31 22:36:07 +08:00
可以考虑去国外弄个本科学历,像菲律宾之前看过新闻国内有人去买博士文凭,本科说不定也有渠道,你可以研究一下
|
33
whyclong 2023-01-31 22:37:03 +08:00 via iPhone
想研究就上学历,想赚钱就搞企业需要的前端后端,搞内核,要不就是搞加速,然后卖钱。
|
34
fanhaipeng0403 2023-01-31 22:39:00 +08:00
不走常规路,难是正常的
|
35
zw1one 2023-01-31 22:39:30 +08:00
哎 屠龙技没啥公司用得上
|
36
8675bc86 2023-01-31 22:45:10 +08:00
好巧,我也是做 kvm 研发的。
|
37
Hsinyao 2023-01-31 23:00:47 +08:00 6
我做虚拟化的,在两家顶级大厂的 Kernel/虚拟化相关组呆过,你的 patch 网页里有个 review 你代码的人是我前同事。
关于学历这块,就我个人呆过的组而言,从 40 多岁的经理 /组长到还没毕业的实习生,985 研究生学历概率接近 90%,研究生学历概率在 99%的样子(我只见过一个本科学历的社招员工)。 建议改变方向,或者换个性价比较高的工作,将系统研究作为副业。 |
38
yifangtongxing28 2023-01-31 23:09:16 +08:00
说点实话,楼主要是家境好,可以这么搞。如果一般,建议还是搞个来钱的行业。
|
39
tool2d 2023-01-31 23:19:39 +08:00
没学历可以干独立开发啊。
只要专心写业务,只做一件事,就比较容易成功。 钻研内核这种耗尽你一生精力的爱好,一定要谨慎,你口袋里没足够的钱。 |
40
meteor957 2023-01-31 23:22:07 +08:00
op 这毅力真的强,脱产研究一年,要我的话早焦虑的不行了。
|
41
zsj950618 2023-01-31 23:49:01 +08:00
脱产一年,总共 5 个 patch 。(好像都没合?)这个水平怎么想都达不到敲门砖吧?
你如果坚信自己能不依靠学历证明能力,那起码要有其他能拿得出手的东西吧?恕我直言,就你那几个 patch 远远不够。 |
42
xsen 2023-02-01 07:16:43 +08:00 1
要做内核开发,光 patch 是远远不够的,还需要对整个内核有相对全面的学习与了解;另外,还要深入某 1-2 个子系统
别说做内核,其实目前 lz 这样的情况连做嵌入式 linux 开发都不会有机会 |
43
xsen 2023-02-01 07:21:47 +08:00
很多楼上言比称大佬的人,不妨去看看 lz 所提及的 patch 。其实对于内核的 patch ,若有环境,大多数人都可以提交
|
44
julyclyde 2023-02-01 09:24:56 +08:00
@webcape233 你这话说的,运维和低学历有啥关系
|
46
nevin47 2023-02-01 10:47:22 +08:00
@julyclyde #45 他只是想做个比喻而已。简单来说没有接受过系统的学术训练的工程师,除非悟性超群,否则基本上连可靠的分析和性能验证都很难做得很好。我们组最近一年加入了很多新同事,都还是有至少 211 以上的学术背景的,基本上头两三个月做几个小的验证试验,都要返工个四五回才勉强能得到可靠的结果。内核领域和传统的软件开发领域在研究能力要求上差异很大,不是说学会写 C 语言就能开发内核了,往往需要匹配很强的体系结构知识,然后要有基础的硬件理解能力,才能说得上入了门
|
47
fengjianxinghun 2023-02-01 10:51:20 +08:00
@julyclyde 用不上,内核连浮点都没有
|
49
coderc 2023-02-01 11:16:18 +08:00
@nevin47 我是本科,自学转编程,4 年 java 。真心请教:211 ,985 研究生阶段是有大量的实验或者课程帮助形成很强的体系结构知识以及硬件理解能力吗?我对计算机相关的知识很感兴趣(目前都是靠阅读一些原版书籍来学习,比如操作系统导论,Hands-on Booting Learn the Boot Process of Linux, Windows, and Unix 等等),但也不可能再回学校了,还是想接触下这块的经验,主动学习。
|
50
qemu32 OP @itguy 看过数据从用户层写入到磁盘的整个 io 流程的代码,但没有研究过某一个具体的 fs ,也没有研究过 io 调度程序,不过我之前有做过分布式存储以及内核块设备层数据捕获相关的工作,也看过 nvme 和 virtio-blk 的代码。
|
51
nevin47 2023-02-01 11:27:23 +08:00
|
53
UIXX 2023-02-01 11:38:35 +08:00
5 楼 6 楼说得差不多了。
重点是,你所面对的就业并不是水平测试,而是选拔测试。 即使你技术水平达到了,但在综合水平上不如别人,那就够不上台阶。更何况卡在学历这种硬指标上。 破局的方法就是弄个文凭。 |
55
intLee 2023-02-01 12:00:32 +08:00
先买个大专 才有上桌让人看见的资格 至于后期往上升 现在也可以成考专升本 自考研 没有学历 让桌子上的人低头看到你的概率太小了 即使你技术顶呱呱 /狗头
|
56
uni 2023-02-01 12:15:23 +08:00
学英语,多混开源社区,跟他们交流然后解决他们关心的问题?
|
58
TtTtTtT 2023-02-01 12:20:08 +08:00
不知道 Linux 内核社区有没有像 Apache PMC 这种比较正式的头衔。
如果有的话,我觉得一定程度上比学历好用~ |
59
nrtEBH 2023-02-01 12:22:32 +08:00
搞个开源项目 到处刷 star 成为社区明星 然后空降去中厂
大厂就别想了 |
60
MrHyde 2023-02-01 12:53:53 +08:00
如果你仅仅需要一份工作,就去学 java ,或者 javascript ,或者 php
|
62
shanks 2023-02-01 13:19:05 +08:00 1
建议尝试往驱动、嵌入式方向发展,看看手机厂商、新能源御三家之类的。这类跟内核相关性较大,公司又不算太大,可能会开这个学历口子。虚拟化方向就不要搞了,这是互联网大厂、云计算基础设施才需要的技术,每年 985 应届毕业硕博一堆,都是优中选优自己培养,社招也是同级公司有实际工作经验的人。
|
63
learningman 2023-02-01 13:36:11 +08:00
@Frankcox #60 属于对社区完全没有意义的抖机灵,对提问人没有任何帮助。
这种内容多了社区就烂掉了,参考知乎。 |
65
liangtao927190 2023-02-01 13:48:35 +08:00
老哥,感觉最近各种车厂,开发车机的找 linux 的蛮多,要不要试试?特别是新势力,蔚小理什么的
|
66
wuxidixi 2023-02-01 13:49:07 +08:00
真强,要是我脱产一个月就焦虑的不行了
|
67
ljmsun 2023-02-01 13:50:56 +08:00
在可预见的未来里,自考读研对你来说是最正确的一条路了。
学历只是个敲门砖,但没有连门把都摸不上。读完研后不管之后是计划找工作,还是靠公务员什么的,至少把你可知的未来选项扩宽的很多,以后学历也不会是以后几十年里面的一个坑了 |
68
bk201 2023-02-01 13:58:48 +08:00
我觉得有时不需要太头铁,你都知道你缺什么了,为啥不去补呢?
|
69
encro 2023-02-01 14:00:15 +08:00
|
70
encro 2023-02-01 14:01:36 +08:00
如果想就职,那么选择前端,研究 js 和 ts 也能达到 2w ,就业对学历不严,而且岗位 10 倍。
|
71
mosfet 2023-02-01 14:11:44 +08:00
@shanks
都是大厂,也不大可能了,学历硬伤。还没牛到让人破格的程度。 嵌入式 linux 跟 OP 的研究方案也风马牛不相及 把学历补足到全日制大专也要花费 3 年 可以考虑个人接外包项目锻炼一下 脱产死磕,压力有点打 |
72
elonlo 2023-02-01 14:13:10 +08:00
hr 小姐姐直接过不了。。。
|
74
tairan2006 2023-02-01 15:28:59 +08:00
脚踏实地吧…高大上的工作职位少,门槛也更高,这是没办法的
|
75
liuxu 2023-02-01 15:57:48 +08:00
别在软件圈混,今天中国的软件行业就是十几年前的印度,做基础研究的少
去做硬件的公司,嵌入式物联网之类的找找,需要 linux 内核或者其他一些微内核的技术团队,最好花几个月补一些基础模电数电的知识 |
76
qemu32 OP |
77
arthury007 2023-02-01 16:29:36 +08:00 via iPhone
没有学历就要有足够硬的敲门砖,比如成为审核组的成员,或者业界有个闻名的项目,不然你屁都不是,几个 patch 被拒的经历根本什么都说明不了。
|
78
litguy 2023-02-01 16:54:02 +08:00
@qemu32 block 层总有自己的 kernel driver 这类东西。你觉得没 kernel 的原因,我感觉可能是你用的是别的东西,他们用自己的 client lib 读写数据,最简单就像 etcd 用客户端那种模式。如果你只有应用层的东西,怎么给客户端一个块设备,或者一个 posix 兼容的文件系统。
|
80
adoal 2023-02-01 17:01:50 +08:00
@qemu32 比如 Ceph ,虽然服务端是用户态的,但如果要在客户端 mount 了当 vfs 用,就需要一个 CephFS driver
|
81
wangxiaoaer 2023-02-01 17:04:40 +08:00 1
"脱产研究" "提交 patch"听起来很厉害,然后呢?
1 你研究了啥?有什么可以分享给大家的吗?比如博客之类,否则怎么证明你的研究深度或广度? 2 提交的 patch 没有被合并是否说明这个 patch 并不重要? 这两点都无法证明你的能力达到了可以忽略你学历的地步。 |
82
workerddd 2023-02-01 17:26:34 +08:00
能力强就当黑客得了,也别找厂上班了。
|
83
jstony 2023-02-01 17:29:54 +08:00
1. 能不能去考个自考证明一下基本的东西?
2. 既然在深圳,太多做 linux 、android 系统定制的,能不能先找个小厂、小作坊干干? |
84
alexsunxl 2023-02-01 17:41:27 +08:00
先去找一下 linux 运维的工作呗
|
85
dog82 2023-02-01 17:42:47 +08:00
没有学历敲不开门,除非有人引荐。
可以试着跟国内的 linux 内核大神谢宝友联系,他也是中专学历,如果获得他的引荐,拿个 offer 没问题。 |
86
dog82 2023-02-01 17:45:16 +08:00
不过话说回来,脱产研究一年 linux 内核也就学个皮毛吧,除非像 robert love 那种天赋极高的天才
|
87
qemu32 OP @wangxiaoaer 实际上我这一年多研究的大部分内容都是不能通过给内核提交 patch 体现出来的,这里描述一下我还干了些啥:
1 ,我能用单个 Makefile 编译 Linux 内核: https://github.com/donglisi/linux 2 ,我给 kvmtool 实现了一个 64 位 bootloader ,可以直接从 vmlinux.bin ( objcopy vmlinux 产生)启动内核,不需要 bzImage: https://github.com/donglisi/note/blob/main/kvmtool_patch_bootloader 3 ,我将 Linux 内核的伙伴分配器抽离出来形成了一个核心代码只有几千行的小项目还能可能跑得起来: https://github.com/donglisi/linux/tree/buddy 因为我做上面这几件事本不是为了给别人看得,也就懒得描述太多,还有一些是我研究过但是没有形成一段有意义的代码或项目的,我也就不想提了。 我发 patch 都是因为我发现了内核或 kvmtool 中确实存在的 bug ,这些邮件其实就涉及到 3 个问题: 1 ,kvmtool 项目无法正常启动 linux 系统,这个问题最终被 google 的工程师解决,我作为 Reported-by 被记录在这个 commit 里:faae833a746f1c59f64fb05e9c08e62b5b0002eb ( Revert "kvm tools: Filter out CPU vendor string") 2 ,amd 平台嵌套虚拟化 perf 工具无法采集数据问题,这个问题最终是 kvm 的内核维护者解决,我的价值主要体现在指出了腾讯的 Like Xu 之前的 commit 的一个小问题,他当时没有彻底搞明白一个很相关的问题,还在回复我的第一封邮件时说我写的一段内容“ridiculous”,结果被我回怼回去了。 3 ,最近给 kvmtool 提交的这个 patch 是因为 kvmtool 有个存在多年的老问题一直没人解决导致我用出 bug 了,我觉得在这个问题被彻底解决以前研究这个问题都是有价值的。 最后, “脱产研究” 是事实,我这么说不对吗? “提交 patch” 是你说的,我说的是“发送 patch”, “听起来很厉害” 是你说的,我没说我很厉害,我就说了 “我对内核的研究算是比较深入的”。 我发这个帖子纯粹就是想给自己找找其他机会,不是来吹牛逼什么的,请你不要误会。 |
88
402124773 2023-02-01 17:56:01 +08:00
@qemu32
如果楼主在深圳,可以随便找一个内核驱动的方向,研究下,写几篇文章或者给内核那边提交点 patch ,然后往手机厂 /电视厂那边的驱动部门去试试。只是一个方向性的建议。 我觉得主要还是你之前研究的这个方向太窄了。 根据你 87 楼的回复,我觉得工作内容上去做这种肯定是没有问题的。只是看看你是否愿意去从小公司做起。 |
89
qemu32 OP @litguy 我之前工作中做过的那个分布式存储项目没有给客户端一个块设备或文件系统的需求,只是为了给虚拟机用的,也就是给 Qemu 写了一个块设备模块,另外分布式存储最有挑战性的部分都是在服务端,客户端应该不会有非常重的开发需求,贵公司会专门请个搞内核的人来做客户端吗?
|
90
tool2d 2023-02-01 18:17:57 +08:00
感觉没什么太好的办法证明 OP 编程能力很强。
可能只有多堆一点让人仰望的 github 代码,或者录制一点教学视频,或者刷刷题打排名? HR 选择人才跳槽的三大要素之一,过往有成功的产品,也不是完全没道理。 |
91
qemu32 OP @tool2d 我没说我编程能力很强,我比较强的部分在于计算机的基础理论知识,过去一年多看了很多这方面的书,之前其实还有面试过阿里的服务器固件和驱动开发(外包),问我理论知识我都没问题,但算法题我都做不出来。
|
92
alne 2023-02-01 18:45:51 +08:00 via Android
|
95
litguy 2023-02-01 19:59:17 +08:00
@qemu32 只是举例子,我们没有客户端,服务器端出来就是内核块设备,OS 的 /dev/ 目录下的,scst 用这个内核 export 的块设备将卷服务提供给 iscsi 用户
|
96
TonyG 2023-02-01 20:21:31 +08:00 1
kernel 级的东西,不是信创产业就是大厂,要么足够多的 pr 证明让技术负责人内推,要么学历、工作经历足够让不懂技术的 HR 眼前一亮,否则就像自学人工智能一样,很难在职场找到工作。
|
97
xsen 2023-02-01 20:40:06 +08:00
与其研究内核提交某些边边角角的 patch ,还不如深入某些方向
1. usb 或 pcie 子系统 2. 图形,包括 gpu 驱动、图形引擎,诸如此类 特别是#2 ,相对来说需求是越来越多 |
98
WuSiYu 2023-02-02 05:29:59 +08:00 via iPhone
OP 或许可以看看 PLCT 实验室的实习?中科院软件所的,主要做开源和 riscv ,我记得有 qemu 的岗位
|
99
hhaobao 2023-02-02 09:37:42 +08:00
@qemu32 op, 我们这边有一些内核开发相关的, 加我微或电话联系下? MTgwMDMwMTgyNDE= (base64 解码)
|
100
lechain 2023-02-02 10:10:19 +08:00
@qemu32 回复#91 ,我觉得 OP 没有理解#90 楼老哥的好意,他不是在说你编程能力强不强(其实这也跟他没关系),他只是在提醒你 “感觉没什么太好的办法证明 OP 编程能力很强。”,因为现在外面找工作看的比较重要的一点就是编程能力,其实#90 楼老哥只是在帮 OP 补充漏掉的内容,OP 可能需要想办法证明自己的编程能力
但是看 OP 后来的回复,又说自己觉得编程能力不强,我也不知道怎么说了,想找工作,觉得自己能力强不强不重要,重要的是你要有能力,并且让招聘方也觉得你有能力, - 编程能力很重要,至少在升到管理或者架构师水平前很重要 |