面試與程式員
泰岩網路工作室 吳旻
換工作的時候,去過很多公司面試;工作穩定以後,也面試過很多程式員。基本上一句話,程式員很難找到合適的工作;公司很難招到合適的程式員。
我大學畢業於九十年代中期,那時候基本上會寫點代碼就能找到工作,不管你是學什麼專業的,也沒有要熟悉物件導向、設計模式、UML這麼多要求,原則上能幹活就行,當然,工資也有限。
現在的程式設計語言與編程工具比那個時候都發展了很多,所以對程式員的要求也越來越高了。我個人認為,現在畢業的學生,和我畢業時的能力其實差不多,但寫出來的程式就是沒人要,因此好多人也很難找到工作。
下面說說我對面試的一些體會。
首先是價錢。用人單位的每個職位都是有它的價錢的,招多少錢的一個能力在什麼之上的人,一般是事先定好的。所以,只要你要求的工資超越用人單位的上限,就說什麼都沒用了。如果有單位不計成本的招人,那幾乎就可以認定他們是遇到了很大的麻煩,想儘快解決問題。如果你有能力解決這些問題,那你就可以多要點。不過,當問題解決的差不多時,單位就開始考慮解決你了。
個人感覺,現在的程式員對自己的定位很模糊,不知道該要多少工資合適。一般說來,初級程式員,工資能給到5K就很好了;中級程式員,工資不會超過8K;進階程式員,很少有過15K的。如果你見到年薪50萬招程式員,工作時間一般都不長久,沒有哪家做合法業務的公司會出那麼高的價錢養活一個程式員,要知道,50萬是一個核心級主管的價錢。
所以,找工作,要價一定不要離譜,要不然,幾乎沒戲。至少我碰到這樣的面試人員,幾個難一點的問題就把他打發回去了。不管他原來的職位有多高,也不可能回答所有的問題。
其次是個人能力。一般通知你面試,都是認為你簡曆上的描述還是讓人覺得你有可能符合用人單位的要求的。但每家公司對個人能力的考察非常不一樣,大致分兩種。一種是讓你做題,各種五花八門的題很多,規定的時間做完。說實話,這就像一個老中醫考行醫資格一樣,你行醫時間越長,越是考不過。倒是剛畢業的學生,成績反而高一些。換句話說,這種方式更適合於剛畢業的學生。
我發現有一種現象,那就是有些公司明明就是想招一個士兵,但出的題的難度絕對是招一個團長的難度。開始我一直懷疑他們是不是真的想招人。後來想明白了,估計是公司想招人,負責面試的技術人員覺得眼下不招人對他們更有利,所以就出了這麼多難題;或者是擔心自己題出簡單了,顯示不出自己的水平,就找一些怪題來難為人。
還有一種面試方式是讓你講一講你以前做過的東西。如果你對從前做的東西真的瞭解,那你就會說得清楚一些;如果你只是泛泛的談一些東西,估計就沒戲了。這個時候,你講的東西一定要有深度,要讓對方覺得有吸引力。我個人覺得,千萬不要講別人做過的並且是你不瞭解的東西,技術這事是很難騙得過的,除非面試主考官自己就很糊塗。很多簡曆上都寫精通網路編程、設計模式、UML等等,要知道,這些東西是三兩年很難掌握的東西,精通就意味著你已經是非常強的人了。可以說,在這些知識上,隨便問個問題都會難住N多人。本質上說,人家只是招一個寫代碼的程式員,你要是真會這麼多,直接去當架構師好了。不是說你不能會這些,而是說,說實話為好,瞭解就是瞭解,精通就是精通。
再有,就是公司招你做什麼。好多公司招人就是因為眼下的人手解決不了問題,其實這些問題更多的還可能是因為管理不善引起的。等問題一解決,你就沒用了。我自己就經曆過項目結束就走人的尷尬境地,公司願意在法律的範圍內賠償我,但我必須離開。所以,去公司做什麼,有時候是必須三思的事情,弄不好你會覺得一點不划算,尤其是工作很難再找的時候。
最後,談談個人發展。沒有哪家公司真的打算培養你什麼,除非他們覺得你能留下並且是性價比很高。招你就是來幹活的,把眼下的活幹好,公司就認可你。指望公司能提高你什麼什麼能力,幾乎是不可能的。如果你有提高,那一定是因為你自己努力了。就像公司沒指望你能留下,你也別指望公司能提高你什麼能力,如果你沒進入公司核心團隊的話。所以,當面試人員問你的將來的規劃的時候,其實大家都是在講100年以後的事情,你要回答一個聽起來既有理想,又讓別人覺得你沒有野心的答案,著實不容易。
總結一下,面試是一件很痛苦的事情。如果你經曆得多了,你就會發現,什麼樣的事情都有,什麼樣的事情都能發生。進一家公司其實就是去幹活去了,不是沒有陞官發財的機會,但很少;你的職業道德就像周星馳在電影裡說的那句一樣:其實我是個演員!