看板 Soft_Job 關於我們 聯絡資訊
※ 引述《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.cc), 來自: 220.132.208.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1638794350.A.E89.html
armorNoob: 感謝大大回覆,小弟我會認真學的:) 12/06 21:54
eopXD: 推推!!! 12/07 00:47
Firstshadow: QQ 12/07 02:59
labbat: 真的,只要編譯器是為了補救硬體缺陷而修改的刻板印象在 12/07 05:41
labbat: 搶都來不及了,別人不要最好 12/07 05:42
VF84: 推,推爆 12/07 08:09
taffy128s: 強者我朋友 阿婆砍拍樂engineer 12/07 13:32
ChampYen: 推 compiler 板發起板主 12/08 00:47
snaketsai: 推強者 12/08 14:42
CoNsTaR: 推 12/09 08:37