编译器开发相关的工作值得入坑吗?

110 天前
 VERT1GO

各位大佬,lz 硕士毕业工作不到 2 年,目前在做 Java 后端。个人感觉业务前景一般,也没什么技成长,基本在 CRUD 。lz 希望职业寿命可以长一点,但是现在这个工作感觉就是那种典型的 35 岁失业的工种。。

现在有机会可以尝试一下其它方向,目前在考虑编译器开发或调试器等工具链开发。请问这个方向未来前景怎么样,能不能更有把握度过中年失业危机,以及会不会太小众很难找工作呢?

麻烦大佬们帮忙指点一二。

3885 次点击
所在节点    职场话题
51 条回复
mistygg
109 天前
无脑去啊,这还用想。越难的事情做的人越少,价值越大
echoechoin
109 天前
编译器开发应该可以做代码动态扫描,coverity 就是做这个的
Austaras
109 天前
总之就是很少人抢更少的岗位,而且要读大量书和论文,lz 看着办吧
dododada
108 天前
不懂,觉得比较高深。就像以前有个腾讯大哥拉我去写数据库一样,我说不会 C ,大哥说慢慢学嘛,我问不要产出么?大哥说学起来很快的。。。

但是华为的鲲鹏+昇腾,还是有东西的,真的有东西
Charlie17Li
108 天前
好像缺人?我之前室友面华子,非编译器方向,结果最后问他愿不愿意转编译器方向
pippoflow
107 天前
有这样的机会当然去。何止编译器。其它很多东西都比写业务代码有意思吧?问题的本质其实是:面试过不过得了?
ecnelises
87 天前
我就是做编译器的,现在还在找工作中,可能比前面的 V 友相对更有发言权一点…这个领域上限当然是高,国内中科院有专门的实验室,看到认识的学弟飞去国外参加各种顶会。但不代表就业门槛真的就那么高,因为任何行当都有搬砖的不是?

就业角度,编译器好的地方在于,它能和很多领域沾边,所以就算传统编译器已经成熟了,也总能有几个关联方向火。比如前端方面,一是静态分析工具,二是国内外大厂到一定规模都会搞自己的语言(有的并不对外公开),三是搞 AI 加速芯片需要开发自己类似 CUDA 的 DSL ,这几个都对编译器前端技能有要求。

中端方面,很多 AI 的 workload 需要高层次的算子优化(也就是传说中的 AI 编译器),有些代码库非常大的公司也有针对性调优的需求,另外传统编译器里也有做中端优化的空间。

后端方面,面向经典 CPU 的传统编译器是最多的场景,每个指令集的 vendor 都会养一帮人维护后端(比如 intel 、arm ,像华为高通也有给开源编译器 arm 后端贡献代码),然后是各种 GPU 或者 NPU 后端,现在还有需求就是基于 RISCV 的各种魔改芯片也需要后端开发的人力。还有就是高级语言虚拟机,比如 JS 、Python 引擎这类,这种岗位国内很少,JVM 多一些。

差不多 2017 年以前,国内做编译器的团队很少,能找到的工作都是外企。后面贸易战,国内大笔投资芯片,RISCV 逐渐成熟,又有 AI 这波热度,Golang 、Rust 这些新语言流行也让大厂的基础设施团队发现了新 KPI 来源,总之现在编译器相关的岗其实比原来多了很多。18 年校招的时候面试腾讯,面试官说你想做什么我们腾讯什么都有,我说编译器,他尴尬地说这个真没有😅结果现在腾讯也有编译器岗了。

小不小众,肯定是不如 Web 或者云就业范围广的,但反过来也意味着不卷,总之各种 HR 都抱怨编译的人不好招。菊花的话,可能是家大业大,内部有非常多个团队(可能我能想到的就有 3-4 个)都在做编译器,所以有人才缺口。认识的行业内 35 岁以上的…也不少了,但大环境在这里,年龄总归对再就业有影响。等下个月把工作搞定打算再开个帖子讲讲。
FIllerFooo
29 天前
@ecnelises 大佬我还等着你讲编译器呢
ecnelises
22 天前
@FIllerFooo

怕尴尬,就不开新贴了。

最近聊了一圈,其实编译后端机会比较多,这块也比较贴近传统概念里编译器的概念,半导体创业公司或者巨头新部门几乎都是基于 RISC-V ,所以如果懂点 LLVM 后端又了解一点 RISC-V 指令集,找个机会不难。麻烦的是大部分团队面上都不喜欢应届生(或许学校里搞过开源项目也可以去聊聊试试)。

半导体未来几年是国内热点,连带着编译器也有前景的。每家公司都想往里塞私货( RV 本来也支持扩展),所以都需要人。企业主要有:各种芯片创业企业、寒武纪、地平线、华为、阿里巴巴、中兴,外企也有人但现在都在收缩几乎不招人。

互联网公司也会招做编译器的人,但除了那种真有搞芯片或者基础研究部门的企业外,很大部分其实是挂羊头卖狗肉,是希望能帮助编译器的高级技术和优化落地。面试的时候还发现有意思的现象:有些面试官自己并没有做中端优化的经验,工作岗位也不涉及中端优化,但就是喜欢拿这点来纠缠面试者。原因大概是前端在他们眼中逼格不高,后端不懂的话又完全没办法聊,只能附庸风雅这样子。

另一部分是 AI 编译器,最近发现互联网大厂和车厂都缺这块人材。但这种岗位相当于要求候选人又要懂编译、又要懂 ISA 、又要懂 AI 算法,所以不好招,热点在这里,待遇肯定顶。

有很多团队有自研语言的计划,所以可能也招编译器,做的事可能有意思,但大部分在公司里都属于中层领导硬搞 KPI 的项目,盈利不好说砍就砍,慎重。

还有一个点,就是编译出身的人可能有两类截然不同的背景,一类是传统芯片公司,一类是外企,相当于卷度两端,找工作注意甄别(
FIllerFooo
21 天前
@ecnelises 感谢大佬回复,讲了很多方向!感觉这个技术路线还是挺不通用的( ai 编译器和传统编译器应该是两个不一样的东西)。还有就是,感觉这个方面,对新手不友好啊,缺少友好的资料(可能我孤陋寡闻),公司也不太喜欢找应届生(新人),而且如果进不到你上面讲的那些公司是不是就没有退而求其次的选择了?(不像搞 web 那么通用)。
ecnelises
21 天前
@FIllerFooo
AI 编译器和传统编译器确实很不一样,但总归有点相似之处,有传统编译背景的人要上手会更快。只是看起来这些企业招人希望能马上干活,预期级别又偏高,所以留给转行的人机会偏少。你可以看看知乎上一个叫「蓝色」的人,他在 AI 编译这块专业一些。

资料这块,我不是 AI 编译从业者所以不算特别了解,资料少在我看来是因为变化太快,各种新框架新技术层出不穷,有点之前前端圈子那味道,TensorFlow 是个较好的切入点,因为更成熟,学习材料也更多。传统编译器资料就非常完善了,前端无非是语言标准+Parse 算法+ANTLR 这样的生成器,后端就是查各种指令集微架构还有代码里的奇技淫巧 (常见的 x86/arm/riscv 三个),中端各种 Pass 都是无数篇论文的成熟算法。这些都找得到对应的书或者博客,LLVM 代码模块化做得很好,国内国外都有讲 LLVM 的书了。

编译这个方向不通用很正常,毕竟往大了看都是小众技术,但其实除开 Web 其他很多方向也未必多热门。比如前几年短视频火热,招音视频开发的就多,待遇也水涨船高,现在也下来了。大厂搞 Web 的岗位竞争过于激烈了不如换条赛道,小厂按我理解只要能干活其实背景要求没那么多,即使是 Web ,非 Java 和 Go 的语言也许还有捡漏机会 (大环境是对创业不友好,但企业还有一些的)。总之就是应届生多个技能就是多条出路,越主流的也就越卷

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1069757

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX