天天看點

左耳朵耗子:程式員如何拿到年薪60萬的崗位?

左耳朵耗子:程式員如何拿到年薪60萬的崗位?

本文摘自于陳皓在極客時間的年度專欄《左耳聽風》中《程式員面試攻略》系列文章,更多面試必備技能,請掃碼底部二維碼了解。

學習了《程式員練級攻略 2018》系列文章,我覺得你應該來學習一下"如何面試"了。在我的職業生涯中,我應聘過很多公司,小公司、中型公司、大公司、國内的公司、國外的公司都有。我有成功獲得 offer 的經曆,也有過不少失敗的經曆。

我從 2007 年做管理以來,面試過至少 1000 多人次的工程師。關于如何應聘的事,估計你也看過一些文章了。應聘是需要準備的,我這裡隻分享一些我的實實在在的經驗和相關的技巧,一定你和看過的不太一樣。如果你沒有準備的話,那麼被 pass 掉的機率會非常大。

對于後端程式員來說,C、C++ 和 Java 是一定要學好的,TCP 網絡和 Linux 系統程式設計也是需要學好的。《練級攻略》中那些資料如果你能全部吃透和掌握的話(也就是“程式設計語言”和“系統知識”這兩個章節),那麼,中國的所有公司你都可以進,包括 BAT,職位可以面到一級的進階工程師。年薪至少 30 萬左右。

如果你要更為底層的話,那麼需要掌握高手篇中的“Linux 系統、記憶體和網絡”、“異步 I/O”、“Lock-Free”,以及“Java 的底層知識”,把裡面的那些資料都看懂學透,那麼,你可以面過年薪 50 萬的職位。這是沒有問題的。

如果你要往架構師方面發展,一方面你需要有足夠多的經驗,以及相關的項目實施經驗,這需要在相當的大公司裡做過相應的項目和架構。再輔助于高手篇中的分布式架構的三篇:入門、經典圖書和論文和工程設計,以及微服務和容器化這些内容,我保證你至少可以拿到年薪 60 萬以上的工作。

前端的東西如果要學習好的話,并不難。攻略中也有三篇和前端相關的文章,那三篇文章學習個 3-5 年,你也是一個非常牛逼的前端工程師了,能找到 30 萬 - 50 萬的工作應該沒什麼問題。隻不過,如果你還想更好的話,你需要走兩個方向,一個是設計(不是軟體設計,而是 UI/UX 設計),另一個是後端架構技術。

你一定要明白,真正解決使用者的問題的不是前端技術,而且是後端的業務邏輯和資料計算。前端并不是計算機的本質,計算機提升社會運作效率并不是靠前端完成的,而是靠自動化來完成的,前端隻是輔助。

另外,如果你今天還在做支援性的工作,那麼你要趕快轉到産出性的工作上去,不然的話,你未來也危險了。比如像:測試、運維、項目管理等,這些都是支援性的工作。我個人建議你轉到開發工作上,比如開發測試工具,開發運維系統和工具,開發項目管理軟體……隻有到了開發上,你才會有更好的發展空間。

多唠叨一句,學習不要圖快,要學會找到掌握知識的方法,而不是死記硬背。學習要細嚼慢咽,一天吃不成個胖子。

面試的訓練

對面試來說,比較好的訓練就是要經常出去面試,是以還是應該隔三岔五就出去面試一下的。一方面可以攢攢經驗值,可以訓練一下自己的語言表達能力和應對各種問題的回答。另一方面更重要,可以了解一下目前市場的需求(技術、技能和業務),同時了解一下自己的身價。

我記得以前我在一家公司埋頭幹了 4 年不問外界的事。有一天,被朋友推薦到某公司,去面了一把。那家公司問我要多少錢,我說,8 千一個月。對方說,你要少了,你這樣的能力,市場價至少一萬五了(我在當時所在的公司才拿 6 千)。是以,我開始更新履歷,面了好些公司,發現我的薪資、崗位以及我的能力,果然與市場價嚴重不比對……

你之是以會緊張,會不知所措,會感到不适,會覺得難,大多數情況下是因為你不熟悉這個環境,你對這個環境還很陌生。隻要你面得多了,你就會熟悉這個環境,你也就能駕輕就熟了。“老司機”之是以能成為“老司機”,還不是因為經常跟女孩子聊天交談,時間長了,就成老司機了。

另外,對于語言組織的訓練,除了多多與人交流,還有就是你平時需要多看多寫,喜歡看書和寫作的人通常在語言表達能力方面也不會差,而反之則通常會比較差。是以,寫 blog,表達自己的想法是很重要的。

跳槽和升職

有人說,跳槽是升職加薪最好的手段,這麼說也有一定道理,因為隻有用人機關在競争你,你的職位和薪資才能提得上去。如果你想靠公司的良心,這是比較難的,除非你非常非常出色。很多人都是會以跳槽來作為升職或加薪的手段的。

我認為,對于一個人來說,适當的跳槽還是很必需的。有些時候,在一個地方做得再好,也要出去看看外面的世界是什麼樣的。一方面,有了對比後,你才會更明白自己要什麼,另一方面,想把握趨勢和行業動态,也需要你跳槽。隻是跳槽不宜太頻繁,最好不要低于兩年換一次,而且最好承前啟後,不要有太多的過渡。

如果你想在一家公司内從普員工升職到公司高管這個可能還是有點難的,是以,通過跳槽的方式來達到這一目标還是可能的。但是,這需要一定的政策。比如,你需要先去世界頂尖公司,在裡面做到進階技術人員的級别,甚至可能你先要去讀書深造。總之,你需要先進入國外一流公司(比如微軟),然後,在裡面升 1 或 2 級,然後可以跳到另一家相當的公司(比如谷歌或亞馬遜)。

此時,你的履歷會非常亮眼了,隻要你的級别是進階程式員(對應于亞馬遜的 SDE3),你會成為國内各大公司追捧的人才,你回國到 BAT 這樣的公司裡做個進階管理人員是沒有任何問題的。然而,如果你一開始不是去這些頂尖公司,而是直接到 BAT 裡做個程式員,我覺得未來能上到中高層的機會不會多。

總之,如果你決定在職場大展宏圖的話,那麼在年輕的時候,讓自己的履歷變得越漂亮越好。最好是先去國外,然後在需要職業成長的時候,被國内公司重金請回來,會比直接在國内的公司裡發展要好一些。這是我個人覺得比較好的方式。

最重要的事

程式員面試中,最重要的事還是自己技術方面的能力,國内會注重你的項目經驗,國外會注重你的基礎知識、項目經驗、解題思路,以及軟體設計能力。是以,要努力提高自己的這些技術技能和見解。

在《程式員練級攻略 2018》這一系列文章中,除了一個大型的地圖,以及很多技術的學習資料和資源外,我也給出了很多公司的最佳實踐和解題思路。就算你沒有實工作經驗,通過思考和研究這些前人的經驗,站在巨人的肩膀上,會為你開啟更大的舞台。當你去到這些大公司後,就可以把你學習到的這些知識立馬用上。

當然,計算機軟體開發是一件動手能力很強的事,是以,你需要不斷地動手。好在這個世界有開源項目,加入開源項目會比加入一個公司的門檻要低得多。你完全可以到開源項目中攢經驗,這可能會比在工作中攢到的經驗更多。

總之,我想說的是,要應付并通過面試并不難,但是,千萬不要應付你的人生,你學技術不是用來面試的,它隻是你謀生的技能,要尊重自己的謀生技能,說不定,哪天你還要用這些技能造福社會、改變世界的。

小 結

總結一下今天的内容。《程式員練級攻略 2018》系列文章,對于面試成功與否是非常重要的,但内容太多,是以在本文一開始,我總結概述了其中的重點内容,友善你能提綱挈領地掌握關鍵知識點。

随後,我強調要想取得良好的面試效果,也是需要多加練習的,隔三岔五就出去面試一下,積累面試經驗的同時,也了解一下市場行情。然後探讨一個有些敏感的話題“跳槽和加薪”,我認為,先去國外,然後在需要職業成長的時候,被國内公司重金請回來,會比直接在國内的公司裡發展要好一些。

最後分享的是程式員面試過程中最重要的事:技術能力,國内會注重你的項目經驗,國外會注重你的基礎知識、項目經驗、解題思路,以及軟體設計能力。是以,要努力提高自己的技術技能和見解。但是你要記住,學技術不是用來面試的,它隻是你謀生的技能,要尊重自己的謀生技能。

特别福利

《程式員練級攻略》《程式員面試攻略》系列文章已全新上線

專欄限時拼團,僅限今日,原價¥ 299,拼團僅需 ¥ 199

左耳朵耗子領銜開團,最後 12 小時,掃碼速速上車!