一個小廠前端 Leader 如何篩選候選人?

楊成功發表於2022-03-23
本文來源公眾號:程式設計師成功

大家好,我是楊成功,一名小廠前端 Leader。

說起面試,其實我自己面試的經驗不多,而且我對八股文也不算通,演算法更是短板。但是好在面過不少人,在篩選候選人上,也算是有自己的一點點經驗。

在我看來,面試的唯一目的就是招人,一定是因為團隊缺人需要補充,你才會放下手頭的工作花時間去篩簡歷,約面試。那麼作為面試官,這個時候就一定要告訴自己:

面試是為了尋找合適的人,而不是為了難倒候選人。

我見過不少互相刁難的面試,其實這個是最沒有意義的,雙方都浪費了時間還沒達到目的。當你確定了你的目的是尋找合適的候選人,那麼接著再問自己一個問題:

我需要找一個什麼樣的人?

如果你需要人做基礎頁面排版,薪資一般,那麼就不要要求對方 “掌握資料結構和演算法”。如果你需要圖形化方面的夥伴,就不要要求人家 “精通 webpack 優化”。多多益善當然好,但是強制設定偏離需求的標準,那就不要怪招不到人了。

小廠不同於大廠,沒有雪片般的簡歷,招人本來就困難。你只能放低各種硬性的無關的標準,抓大放小,然後通過面試聊天去挖掘有實力的人。

什麼樣的情況需要什麼樣的人,下面我舉例。

短期需求

假設公司業務發展,來了好多專案,前端人手不夠了。這個時候我們需要擴充人員來迅速推進業務開發。此時團隊需要的是這類人:

2-3年經驗,熟悉 Vue 全家桶,專案經驗豐富,實戰經驗豐富

一句話,就是能幹活。

選擇候選人,工作經驗 是至關重要的參考標準,這裡為什麼要求 2-3 年?

如果少於2年,可能是實習生或剛入行不久的新手,他們一般不能快速的接手業務並進入開發流程,需要有了解專案的同事帶領一段時間。而我們專案緊急需要推進,新人短期不能上手,老人還要分出精力來帶新人,這樣就會拖延進度。

如果大於3年,比如你剛好碰到一個 3-4 年的候選人,面下來比較滿意,我覺的也沒問題,後續還能重點培養。但是如果超過 4 年的話,你就需要考慮的一件事:成本

如果你的需求 2-3 年的候選人能滿足,那你怎麼說服老闆花更多的錢呢?

攻堅需求

假設公司業務發展,前端要接觸一些複雜領域,比如音視訊,跨端,自動化等。而反觀我們團隊,大家都沒接觸過,並且也沒有足夠的能力做這些技術攻關。這個時候,我們就需要那些深度與廣度兼具的大牛了:

3-5 年經驗,掌握前端主流框架,掌握前端工程化,有較豐富的 Node.js 經驗,對音視訊,流媒體,直播點播原理了解並有實踐經驗。

尋找這一類人目標很明確,就是藉助對方的已有經驗或者技術攻堅能力,幫助團隊快速開啟陌生領域,更高效的讓專案落地。

這個時候我們需要候選人有獨當一面的能力,團隊沒有經驗,需要你衝到前面開拓。這種情況下面試或聊天就不能總盯著八股文了,多交流實戰經驗,這樣雙方都會覺得溝通是有價值的。

獨當一面且有攻堅能力,一般我會選 4 年左右的人。而且是否真正有能力,我們光看經驗還不好說,必須通過面試,用基於實踐的問題來挖掘能力,通過對方的表現來做判斷。

長遠需求

假如目前專案穩定,未來一年半年有新的業務方向,還需要人手,這個時候,我們就可以考慮一些實習生和兩年內經驗的小夥伴們了。

本科以上學歷,1 年左右經驗,前端基礎紮實。

這類候選人的經驗比較少,可以在學歷上設定一些門檻。確實對於經驗不具備參考價值的同學來說,學歷和專業幾乎就是你的評估標準。

因為短期沒有專案緊逼,所以我們有時間去培養上述的這類新人,為團隊注入新鮮血液。一個團隊中,老人有老人的優勢,新人也有新人的好處。

新人一般年輕,會為團隊帶來活力,並且做事有時候會比一些老人積極主動。同時呢在新人和老人“學”與“帶”的過程中,可以促進團隊分享交流,互相磨合,這也是必不可少的。

不過要注意,這一類經驗不足的候選人,需要在試用期內做好考核。因為有些新人可能缺少主動思考,也遇到過包裝簡歷這種,這時候就要在試用期內及時評估候選人的能力,看是否適合團隊。

招一個候選人,越厲害越好嗎?

以前我這麼想過,拋開成本不談,當然招過來的人越厲害越好啊。

但是後來我發現,事實並不是這樣的。

首先,一個人的經驗能力與他的配合程度幾乎是成反比的。以上面說的情況一為例,你有了技術方案,需要招一波人進來快速推進,你希望這些人執行力強,指哪打哪,幹就完了。

但是一個4-5年的程式設計師,他一定會有自己的思考,做東西不會拿來就做,腦子裡會有“優化思維”。比如他拿到任務,覺得程式碼不合理不規範,忍不住就想要先優化。他會思考為什麼要這樣做?換一種思路能不能實現?換一種方案是不是程式碼更少?

這種思維沒有問題,並且非常難得。只不過在專案推進的過程中,比起優化,快速執行的優先順序顯然更高。這個時候你就會發現,反而是那些無條件執行命令的“兵”,協作起來更順利,更容易帶領他們將專案快速推進。

所以呢,招聘候選人絕不是越有經驗越好,越厲害越好,適合比經驗和能力更重要。你要從團隊協作和組成的角度去看整體缺乏哪些能力,而不是專注於某一個人。

因此在招人之前一定要想明白,我招他來要做什麼?然後再去尋找適合的人。

本科生一定比大專生好嗎?

我面試過的候選人裡,本科生和大專生五五分吧(專升本暫時算是大專生)。總體看下來我發現這兩波人還是有比較明顯的區別。

以相同的經驗(如3年)為前提,如果你問一些原理性的東西,也就是我們說的八股文,本科生答的相對比較好,這方面大專生就不會那麼全面。

原因的話可能是本科生有計算機基礎,或者應試能力比較強,準備比較充分,總之我的感覺是本科生在理論概念和言語表述方面確實比較突出。

不過呢從簡歷來看,本科生的技能清單中 Vue/React/效能優化 居多。再看大專生,我常常會看到一些驚喜,如 nodejs/linux/flutter,很顯然他們的接觸面更廣,嘗試的東西比較多,細問起來的確是做過不少實踐。

這個也是有跡可循,我聽到最多的講述是因為學歷不好,所以只能在專案上面下功夫,儘可能的多接觸多實踐,深挖技術,我為這類的大專小夥伴們點贊。

在4年左右這個階段,我還是比較喜歡專案經驗豐富,有攻關能力和主動探索能力的人。

拋除學歷和演算法,如何評估候選人的真實能力?

眾所周知,大廠面試篩選,首先看學歷,其次考演算法,這是職場進階的兩道門檻。

但是有學歷,懂演算法的人,工程能力編碼能力就一定強嗎?其實未必。只不過大廠領頭,小菜跟風,社群裡大廠面試八股文的部落格大受歡迎,可是真正的如何考驗一個候選人的能力,反而很少有人分享。

比如我司是一個小公司,面試基本不看學歷,因為人不好招,你再設定條條框框那就更難了。當然了演算法也不問,最多問點八股文,然後就是專案經歷,做過什麼,解決過什麼問題。

不看學歷,演算法,八股文也不多,那麼 專案經驗 就成了考核的重中之重。如何從候選人的專案經驗中問出真實水平,這裡分享一下我的個人小技巧。

當我拿到一份簡歷,我會先找這哥們最擅長的是什麼。甚至當對方簡單介紹完自己的專案,我會直接問他:你最擅長的是什麼?

在我看來,一個有經驗的前端,寫寫vue頁面,排個版,做個狀態管理,絕大多數都沒有問題。但是一個人最擅長什麼,一方面能體現出他的經驗和沉澱,另一方面能體現出對這個領域喜歡,感興趣,鑽研了,所以才擅長。

當我得知對方最擅長的是什麼,那麼就可以沿著這條線往深了問。比如對方說我擅長效能優化,那麼我就接著三連問:

1. 為什麼要做效能優化?
2. 怎麼做效能優化?是否瞭解過其他方案?
3. 現有方案有什麼問題?有沒有改進思路?

第一問是為什麼,這個非常關鍵。當你使用一項技術,一定是為了解決某個問題。如果你不清楚為了解決什麼問題,只是因為別人在做所以我也做,那麼很難理解這項技術的精髓。

第二問是怎麼做,這是個選擇項。一個問題會有許多個解決方案,當你選擇某一個,一定是經過調研和對比,發現了它的優勢,所以才會選擇它。這個如果說不出來,那麼當你遇到問題需要找解決方案的時候,你可能很難找到最優解。

第三問是改進思路,這是考覆盤能力。當你做完一個功能,可能並不完美,或者只是解決了當前的問題。善於思考的人會覆盤,我這個功能還有什麼不完善的?未來有哪些隱患?然後在後來的某個時間處理掉它。

如果你完成了任務就扔到一邊,沒有更多思考,那麼長遠來看,你完成工作的質量偏低,評估風險的能力也會低。

上面的三個問題,綜合下來就是挖掘對方 解決問題的能力,或者是做事的思維。因為你問的是最擅長的嘛,所以也不會因為正好碰到了對方的短板而漏掉合適的候選人。

還有一個必問問題:

4. 聊聊你遇到過最困難的幾個問題,最後怎麼解決的?

這個話題非常好,聊最困難的問題,幾乎可以看出對方的技術深度。然後越困難的問題解決過程可能越刁鑽,你們可以聊嘗試過哪些方案,這些可以幫你判斷對方的思考能力和實踐能力。

並且這個話題也能體現出一個人在團隊裡承擔什麼樣的角色,如果這個人加入你的團隊,那麼他多半也會是這樣的角色。

大概就講這麼多吧,個人理解偏多,也許並不普適,歡迎評論區討論。

本文參與了 SegmentFault 思否徵文「如何“反殺”面試官?」,歡迎正在閱讀的你也加入。

相關文章