碼農面試心態指南
碼農勞動力市場,是一個充分競爭的市場。程序員在一家公司干到老,幾乎是不可能的。程序員的職業生涯中,每隔幾年換一家公司,經歷幾次面試,是很正常的。面試中需要注意什么問題?最近三年,我作為面試官,參加了不下200場面試。本文中我嘗試換個角度,站在應聘者的立場上,談談應該以什么心態參加面試。
1. 對待薪酬心態
“薪酬?當然越高越好”。我覺得這個觀念不對,不應該以這個心態去參加面試。 企業給員工定薪酬的基本邏輯是:
(1)總體薪酬水平不能太低,要保證企業能招到并留住合適的人,以確保自己足夠的競爭力。
(2)總體薪酬水平不能太高,人力成本要在企業能承受范圍之內。
(3)不同級別員工之間,薪酬要有梯度差異,以此激發員工積極性。
(4)同級別員工之間要保持平衡,要讓大家感覺公平。
可以看出,每個員工的薪酬,跟兩個因素有關:a、級別,也就是根據你的能力水平,給你定的職級。b、企業,這個企業自身的經營水平,決定了員工總體薪酬。你把簡歷給了某個企業,最后拿到了offer,那么這個企業給你的薪酬水平,就只跟一個因素相關了,就是你的能力水平。如果你要想爭取更高的薪酬,就只能想辦法爭取讓對方給你定一個更高的職級,超出你能力的職級。雖然,每個企業都有overpaid 的員工,也有不少underpaid。但是,企業的各種HR政策,都是希望減少這類情況。具體到某個人來看,如果你是overpaid,但你能力增長很快,那么問題不大。如果你做不到快速提升,那么這段工作大概率是不愉快的。
相對合適目標,爭取與自己能力水平相匹配的薪酬待遇,或者爭取稍高一點的薪酬, 不要追求高太多。如果薪酬比實際能力高太多,壓力會比較大。
2. 選擇企業
如果就想多賺點,怎么辦?那就換一家公司應聘。 對同一個人來說,在不同企業工作, 薪酬水平差別很大,是很正常的。 公司的規模不同,業務不同,盈利能力也不同,總體薪酬水平也會不同。一個月薪3萬程序員,如果失業之后送外賣,一個月只能賺6千。并不是因為你的編程技能貶值了,是因為送外賣用不到這些技能。同樣是軟件開發行業,有些公司的工作,跟送外賣差不多,不需要太多軟件開發技能。
如果想要多賺點,怎么辦?應該努力選擇收入高的企業,而不是跟一家低收入企業去談薪酬 ,就算你死磕到底,最后拿到了高薪酬,工作也不會很愉快。如果想要薪酬高一點,就爭取進華為、阿里、字節、騰訊這些大廠。就算你水平比較菜,只要能進去, 薪酬水平一定比那些每天CRUD的小公司高。如果你學歷不行,普通二本,簡歷上項目也沒什么亮點,大廠進不去。那么這就是你的努力方向,提升學歷不容易,就找一些有難度、有價值的任務去做。如果現在這個公司沒有這樣的任務,那就換一家,找一家雖然收入不高,但是有技術含量的公司。
(寫到這里,順便提一下,我們zStorage就是這樣一個項目,也許收入不高,但是工作任務的技術含量不低,有挑戰。可以把這類公司作為跳板,踏踏實實干幾年,學點本事,然后再跳大廠。)
如果你覺得,雖然大廠薪酬高,但是績效考評壓力大,上班時間長。你覺得能在小廠拿到高薪,才是最理想的。“錢多事少離家近”,才是最理想的,但是這種工作非常少,誰能得到,往往是命中注定的,如果你真有這個運氣,也就不需要讀這篇文章了。
3. 面試官的態度
面試官有兩類,一類是團隊主管,就是給自己團隊招人。主管面試,一般目標很清晰, 自己想要什么樣的人,他心里是有一個標桿的。他跟候選人交談,就是在跟他心目中標桿做對比。 不同的面試官,心里的標桿也不一樣。
主管面試的時候,心態是比較矛盾的。如果自己面試的時候,看錯了,把不合適的人招進來了。那么,這個人占了一個指標, 但是做事效率很低,沒什么產出。人一旦進來,就能輕易辭退了。辭退一個人,要走一大堆流程,而且對團隊士氣也有不小打擊。如果標準掌控太嚴格,面試很多人招不到一個,也很浪費時間。 主管作為面試官,是很希望候選人通過的,但是又怕招到不合適的人。
另外一類面試官不是主管,面試只是他的一個臨時任務。他一天要完成10個技術面試,面完之后就完成任務了。這類面試官,一般來說,心態比較輕松,也不怕出錯。這類面試官隨機性比較大,能否通過面試,跟面試官個人的喜好有很大關系,跟他當天的心情也有關系,甚至跟早餐吃什么有關,很可能他早晨喝了一杯咖啡,你就通過了,如果沒喝準備這杯咖啡,你就被拒了。所以,面試能否通過,不完全跟能力有關系, 跟運氣也有很大關系。
當然,人是千奇百怪的。有些人態度傲慢,甚至會當面評價候選人的優缺點,候選人會感覺很不舒服。有些人則和藹謙遜。有些面試官能夠清晰表達自己的問題,也能快速理解候選人的回答。有些面試官則不同,他甚至連問題都表達不清楚。面試官 本身的能力也是參差不齊的,并不是所有面試官都合格。無論如何,他們只有一個目標, 就是判斷候選人是否符合要求。應聘者不要太在乎面試官的態度,盡量情緒不要受影響, 努力聽明白面試官的問題本身,爭取理解他為什么問這個問題。如果沒聽懂,可以反問他。完整地理解問題之后,再做回答。
4. 關于簡歷
如果投了很多簡歷,但是完全沒有面試機會,這就應該是簡歷的問題。 簡歷要寫清楚項目的目標,項目團隊的規模,自己在團隊里面承擔什么任務。自己那部分任務完成結果如何。既要簡潔,又要突出重點。
簡歷里面,要把自己突出業績寫清楚,但是不要過分夸大。 面試的一個重要目的,就是判斷應聘者簡歷內容是否屬實。 軟件開發工作是實打實智力勞動,跟做數學題差不多,不懂就是不懂,裝腔作勢改不掉Bug。
簡歷還有一個作用是,給面試官圈定出題范圍。 你簡歷里面寫了精通Java,面試的時候不懂,那就比較麻煩。如果你簡歷里面沒寫,如果面試官問Java的問題,你就直接跟他說我不懂,我的經驗主要集中在C/C++。面試官沒必要故意為難你。
另外, 簡歷一定不要作假。 簡歷作假被發現,問題就比較嚴重。例如,你覺得自己跳槽次數太多了,簡歷不好看,于是就抹掉了其中一次很短的工作經歷,這個動作很可能導致你被公司勸退,有些公司對待誠信問題很認真。
另外 簡歷中盡量不要抒情詩句。 我看到過一個簡歷,個人優勢一段寫的是:“逢山開路,逢水搭橋。尚缺一個值得長期投入的項目”,大多數面試官看到這句話,都會比較反感。這句話的人自我感覺良好,但是在面試官看來,這個人自我定位不清楚,連自己有哪些強項都不知道,也沒必要浪費時間面試。
簡歷要有表達正確的業績觀。看到過另一個簡歷,把“曾經在某次高峰論壇跟倪光南同臺論道”寫進去,這個簡歷也會被大部分面試官過濾掉,不會給面試機會。跟某個名人合影,或者一同參會,并不能表明你能力很強。寫上這句話,反而襯托出你沒有真材實料,只能狐假虎威。
5. 應聘者的心態
我遇到過的應聘者有幾類。第一類是被動型的,面試全程都很拘謹,前面三分鐘自我介紹之后,然后就是面試官問什么,他就回答什么。甚至連面試官眼睛都不敢看。第二類是主動型的,從自我介紹開始,就滔滔不絕地講,中間面試官都插不上嘴。
以上兩種效果都不好。 面試的目的是雙方相互了解。 效果最好的狀態,是雙方能夠找到共同話題,愉快地談起來。面試官和應聘者,都有自己的熟悉知識范圍,雙方的共同目標應該是找到交集,然后把話題聚焦的這個交集里。這樣面試官可以充分了解面試者,可以給出準確的判斷。面試者也可以通過跟面試官的交談,判斷這個團隊的工作氛圍如何。
面試過程中,如果遇到自己不懂的問題,就直接說不懂,盡量不要在不懂的問題花太多時間。如果某個問題你不懂,但是你試圖蒙混過關,有些面試官會揪住這個問題一直問,直到你承認不懂。面試時間最長1小時,如果花了40分鐘討論這個問題,最后發現你不懂,那么想通過面試就很困難。盡量找那些你自己很懂,但是面試官似懂非懂的問題討論,聽了你的講解之后,面試官懂了,他就會覺得你很厲害。
面試之前,要盡力準備一下。例如,你參與過的項目背景是什么?項目目標是什么?你開發的產品,針對是目標市場是什么,市場空間有多大,你們的份額有多大,以及有哪些主要競爭對手,等等。也許工作期間,你沒有關心這些,但是這些問題是面試最可能問的。
另外,要準備一下跟你參與過項目相關的技術。例如,你參與過某個項目,背景是對TCP的傳統擁塞算法不滿意,要開發一個新的擁塞算法。那面試官可能就會問,TCP 的傳統擁塞算法有哪些問題?為什么有這些問題?TCP有三個窗口:接收窗口、發送窗口、擁塞窗口,他們之間的關系是什么?既然你們對TCP傳統擁塞算法不滿意,那么你就應該能講清楚這個原因。你自己的創新算法,要能夠解決傳統算法的問題,這個也要能講清楚。如果你講不清楚傳統TCP算法的問題,那么可以斷定,這個項目不是你主導的,你只是其中無關緊要的一個參與者。
面試過程中,講清楚一個任務前因后果,是最重要的。至于中間過程,反而不那么重要。 例如,你曾經參與過一個塊存儲項目,做了其中的一個條帶化特性,你應該知道,那么為什么要做這個條帶化特性?這個特性解決了什么問題?如果你知道怎么做條帶化,知道數據塊之間對應關系是什么,但是不知道為什么要做條帶化,那么一定會被減分。
另外要準備是, 行業內的常識性知識。 例如你在存儲行業干了很多年,那么你應該知道布隆過濾器的原理是什么?LSM Tree主要流程如何?等等。如果你還不清楚,那么面試之前稍稍準備一下。
總之, 面試本身也是工作的一部分 ,甚至比工作更重要,要認真對待。
本文來自微信公眾號: 碼農黃師傅(ID:Mr-Coder-Huang) ,作者:黃師傅(zStorage首席架構師。熟悉存儲、網絡等技術。)