PTT推薦

Re: [請益] compiler engineer跟一般sw engineer差別

看板Soft_Job標題Re: [請益] compiler engineer跟一般sw engineer差別作者
mshockwave
(夏克維夫)
時間推噓 7 推:7 噓:0 →:3

※ 引述《armorNoob (pro臭酸肥宅)》之銘言:
: 標題: [請益] compiler engineer跟一般sw engineer差別
: 時間: Fri Dec 3 14:42:58 2021
:

(小弟沒有在台灣做過compiler的工作,但還是就我的經驗醜人獻曝一下)

: 各位大大好
: 小弟有幾個疑惑
: 1. 想請問下寫compiler的話,跟一般的sw會差很多嗎?

我不太清楚你的"差很多"意思是什麼 但如果要說差別的話

compiler engineer 需要的 domain knowledge 會比較多一些 但除此之外

依然需要具備跟一般的SWE一樣的技能

: C++寫LLVM,擴充openCL語法,整個flow都會碰到
: 如果之後要轉純軟不曉得年資會不會重算
:
: 2. 大部分時間focus的點會是在軟體還是硬體?
: 聽說要很多硬體的東西,不曉得這樣會不會大部分都在搞硬體的架構,
: 軟體的部分反而很少碰到。

簡短的答案:看你接觸的區塊

極端一點的例子是你的工作只負責 Clang 裡面的C++語意檢查(Sema)

那這部分就基本上不會摸到硬體了


但如果以我過往待過的 compiler team 情況來看,通常工作分配不會分的那麼細

除了少數過於專門的問題以外 一般處理的工作裡整個 compilation pipeline 都有

機會碰到。這時你軟硬體都會接觸了

當然主管的確會依照你擅長的部分分配 ticket,有時候你也會分配到某個

project,但通常你的生涯不會"只"解決特定的compiler問題

:
: 3. 如果跳其他寫compiler的缺,多少知識是可以共用的?
: 聽說韌體如果是不同device資歷就會砍很重,compiler
: 也專攻硬體的知識,也會怕硬體不一樣很多東西要重學,年資會被砍

並沒有.jpg

如果真的發生這種事情 有問題的是該公司 不是你

compiler engineer 很多技能在不同公司都是可以適用的 即便硬體或者產品不同

你這邊提到的硬體知識我猜最接近的就是 compiler backend 相關的

的確,架構不同很多東西都要重記 但不包括核心的知識 像是你大學學的計算機結構

或是 backend development 相關的知識。對方雇用的是你的不能取代的技能、經驗,

以及解決問題的能力,而不是看你能不能回答x86_64最長的instruction有幾個bits

這種google一下就可以出來的東西


舉個最近發生的例子:LLVM X86 backend 的 code owner,Craig Topper 去年從

Intel 跳槽到 SiFive。他過去10幾年都在跟 x86 backend 打混 (搞不好你問他

上面那個問題他還真的回答得出來),但是他現在在SiFive做的是...RISCV backend

X86 和 RISCV 兩個天差地遠的架構,但Craig還不是以 Staff 或 Senior Staff

engineer 身份被SiFive雇用。

: → VF84: 像 Chris Lattner 在 Apple 搞 swift,跳去 google 搞 12/03 16:25: → VF84: Tensorflow,去年跳去 sifive 搞 riscv。最近還在弄什麼 12/03 16:26: → VF84: MLIR,compiler 能玩的東西可多的咧 12/03 16:26
準確來說他最近正在朝EDA進軍XD 用MLIR做 hardware compiler

: 推 VF84: 像是遊戲主機公司也有在請 compiler 的人。他們那裡在做的事 12/03 16:29: → VF84: 就跟硬體一點關係也沒有,你可以去問問 CompilerDev 版主 12/03 16:30
恩...我相信 PS/Xbox compiler team 有人的確是做跟硬體無關的工作

但他們的業務有很大一部分是我喜歡稱作 "hyper-optimization"的東西:

針對單一一個處理器把軟體效能搾到極致(這也是為啥都已經2021年了他們還是

認為出console有錢賺)這部分就需要超出一般 compiler engineer 所需的

硬體知識了。準確來講你不只需要了解ISA,還要知道同ISA但不同處理器

在細節上 -- 例如 latency 或者記憶體存取方式 -- 的差異

: → VF84: 餓不死。只要電腦一天沒消失,compiler 就絕對會持續存在 12/03 17:10
噓~小聲~不要講出來 要不然 compiler engineer 因為很少人所以有薪水上的

優勢這件事就會被發現了(喂


--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.208.67 (臺灣)
PTT 網址

armorNoob12/06 21:54感謝大大回覆,小弟我會認真學的:)

eopXD12/07 00:47推推!!!

Firstshadow12/07 02:59QQ

labbat12/07 05:41真的,只要編譯器是為了補救硬體缺陷而修改的刻板印象在

labbat12/07 05:42搶都來不及了,別人不要最好

VF8412/07 08:09推,推爆

taffy128s12/07 13:32強者我朋友 阿婆砍拍樂engineer

ChampYen12/08 00:47推 compiler 板發起板主

snaketsai12/08 14:42推強者

CoNsTaR12/09 08:37