程序員學會編譯器,操作系統,工資就會很高嗎?


不會。同樣滿足這個崗位要求的程序員,他們的工資水平是一樣的,不會因為一個人多懂什麼就給她多一點錢。

同樣的,公司給一個程序員漲薪,是這家公司需要他去做價值更高的工作,而不是他以前的工作做得好。

所以具體到編譯原理和操作系統,直接寫編譯器和操作系統內核的工作很少,所以這部分可以忽略不計。對於不需要編譯原理和操作系統內核知識的工作來說,你懂這些唯一的好處,就是讓公司可以在有更有價值的工作的時候,先想到你。但是如果沒有這個機會,那你的工資就跟別人一樣。


會的,至少國內互聯網公司會的。

如果是跳槽面試,面試時候你能表現出自己的亮點,比如操作系統足夠好,那麼可以達到Strong Hire,國內一、二線互聯網公司,工作2、3年的,同一個級別,待遇Base差距可以到5K+。當然面試也有很多技巧,這個就在於你怎麼能引著面試官,讓他佩服你的系統基礎功底。

如果是非跳槽情況,大概率也會,特別是那種處於上升期的公司,比如滴滴、美團、頭條這種。因為公司基礎設施還不夠完善,會遇到很多棘手的難以解決的問題以及各種性能提升問題,基礎足夠好,產出就好,也就更容易升職加薪。需要明白的一個道理是你升職、漲薪不在於你會什麼,而在於你會的東西能給公司創造多少價值。

多說句題外話,編譯原理或者操作系統足夠好,一般會保證你產出足夠好以及更高的思想上看待問題,舉例你明白了C++虛表的設計原理和哲學,那麼搜索引擎里的倒排原理思想也就明白了;如果你明白了操作系統里的線程調度、CPU計算、文件存儲、Cache等思想,那麼現在火的分散式調度、計算、存儲等你也完全能hold住,加個分散式無非從單機擴展到多機,而整體思想沒有太多變化的。


如果老闆想招一個會開挖掘機的。

你就算會開戰鬥機也沒用。你覺得老闆會傻到為了一份挖掘機工作,拿戰鬥機工資招一個真正會開戰鬥機的嗎…那不虧死?

但是你會在應聘中在一群只會開挖掘機之中脫穎而出。

當然,你想拿高工資去可以去應聘開戰鬥機的。

不過到時你面對的競爭對手是一群開戰鬥機的,你就完全沒優勢了。

程序猿同理。

現在市面上很少有招聘這兩者的開發人員。非常少,即便有,你這水平也是遠遠不夠的。

但是為什麼那麼多人強調學習它的意義?

因為學習它本身的意義難道是為了提高自己專業能力,加深自己對基礎的掌握。

就不說寫一個編譯器,操作系統。老老實實把編譯原理和操作系統學完,你對代碼底層理解能力能up上何止一個層次。

你會明白計算機怎麼處理代碼,怎麼執行代碼,CPU和操作系統對資源和內存調度等等。

比如學完進程調度,學完各種調度演算法,對於讓很多程序猿頭疼的多線程編程,你可以輕鬆拿下。

更別提你自己實現一遍,寫個操作系統或者編譯器,把所有坑都踩一遍。

你已經甩掉90%的程序猿了。


不會。

因為在給程序原定工資水平的人眼裡,程序員就是程序員,編譯器、操作系統是啥玩意他們又不懂/嘿


本答案應該戳了無數人心坎,玻璃心誤入。也不要宣揚讀書無用論,謝謝。

如果覺得難受,心裡默念100遍「反正學了也沒用,反正也沒幾個人學的,反正都是水過的」,可能會好一點。

-------------------------------------------------------------------------------------------------------------------------

我們來看看計算機科學技術本科生培養方案。這裡用清華大學的舉例,別的學校其實都是大同小異。

(1) 學科基礎課 必修 14學分

20220214 電路原理 4學分

20220221 電路原理實驗 1學分

20250153 數字電子技術基礎B 3學分

30240382 編譯原理 2學分

40240784 計算機組成與系統結構 4學分

建議選修

程序設計課組 3學分

(2) 專業核心課 必修 37學分

30470013 計算機入門 3學分

30470023 計算機應用數學 3學分

30470124 演算法設計 4學分

30470134 計算理論 4學分

40470104 網路科學 4學分

40470024 密碼學基礎 4學分

30470154 博弈論 4學分

40470034 分散式計算(基礎與系統) 4學分

40470094 量子信息 4學分

30470104 機器學習 4學分

30470113 高等計算機圖形學 3學分

40470184 大數據演算法與模型 4學分

30470084 操作系統 4學分

去看別的學校,有哪家CS專業的本科不教操作系統跟編譯原理的?

所以學會編譯器和操作系統剛剛本科生畢業的水平。為啥要給你漲薪?

如果你是CS背景,默認你會。你不會說明你不是合格的CS本科畢業生。不應該得到需要本科及以上學歷的工作。


你說的這些可以幫你過面試。 就是說有些工資高又有這種要求的職位,你可能能得到offer。

但是這些很難幫你漲工資。

據我觀察,升的快的,以下幾點要具備其一,

能幫老闆創造項目的,自己想出個新東西,直接幫老闆搞定整個團隊下一年度幹什麼的問題。

幫老闆解決問題,當棘手的問題出現,讓你的老闆被客戶,被大老闆,被其他部門追殺的時候,你能把問題搞定。

有一定的曝光度visibility,你的能力被老闆的老闆,被其它部門,甚至客戶知道的時候。升職加薪就快了。

你說的那些也許能幫你跳槽


邀請我幹什麼,我又找不到工作


開live,出書的工資最高,不要學沒鳥用的屠龍技。我找的第一份工作是寫JavaScript,主要內容是畫按鈕。第二份父母朋友家的工作是寫App,主要內容是畫按鈕。可見,畫按鈕才是核心生產力。什麼React啊,Auglar啊,各種框架,基本上都在解決畫按鈕的問題。建議題主認真學習PS和溝通技巧,從而達到美術不敢惹你,產品經理也不敢惹你的境界。如果一定要弄屠龍科,請先在知乎度過瑟瑟發抖的n年,因為你這也看不懂,那也看不懂。


看王垠就知道了。PL大神,編譯器算啥,操作系統和編程語言都實現了多少了,心中還有B樹,這麼牛逼還在發牢騷自己的工資低了。


我是前段 完全不會這些 就一混飯吃的小碼農


不會


不會的。你會的東西有什麼樣的價值取決於你現在的工作崗位,而不是這東西本身的價值。

打個比方,我會編譯器會操作系統有什麼用呢?就是比不上leetcode上刷題的同學。因為人家代碼寫得6呀。

資本家不會跟你講這些情懷的。


不會

猶如就像你現在知道了怎麼證明微積分,也不會像牛頓萊布尼茨一樣有名

最重要的是你要做些別人還沒做過的事

而不是重複別人做過的事


我發現說不會的 如輪子哥之流都是工資收入已經到高位了 這樣的段位當然不可能因為你懂這兩三個新技能點就給加工資了 但是你要考慮題主既然問這種問題 多半目前還處於收入比較低的階層 這種情況下 我認為有大概率會對工資有影響


整操作系統和編譯器的大神可以扯旗拉山頭;吐糟工資的都是偽神


就算你把搬磚工這三個字替換為程序員結果也是一樣的


不會和工資直接掛鉤 學會能幫助你成為一個更好的程序員。尤其是做後台 大型服務開發

學會也分幾個階段吧 理解編譯器 操作系統工作原理能讓你成為很棒的程序員 代碼就是速度比別人快 抓bug 就是厲害 對工作前期工資增長還是有用的

如果學通了 就做這方面的開發 熬成大牛能lead項目 那就坐等被挖吧。工資不會再是你需要考慮的問題了。


會到什麼程度,能開發出微軟的操作系統嗎


靠看一本書學學概念是漲不了工資的,或對於提高工作能力有幫助,如果你會寫操作系統或編譯器那你可以直接去微軟或谷歌面試了,如果只是讀讀書的話有很多書可以讀,取決於你的工作性質該讀什麼書


看了題主的幾個回復,題主更適合將問題改為:學會編譯原理和操作系統在搬磚時可以獲得更好的薪水嗎?

答案當然是不會23333


推薦閱讀:

現在手機屏幕基本都普及1080p了,為何對解析度要求更高的筆記本大多都還是1366*768的屏幕呢?
IT工作者應如何避免滑鼠手以及手臂發麻等病症?
IT技術男,普通本科上了一半,找到工作了應該輟學嗎?
零基礎,想要成為一名程序員要怎麼做?
加班的深層次原因是什麼?

TAG:程序員 | 軟體開發 | IT行業 |