全文共2568字,預計學習時長7分鐘
假如你是一所小型K-8(涵蓋幼兒園到八年級)學校的校長,正在招聘一個新老師。這所學校只有不到20名教師,必須確保每個教師都能夠教任何一個年級。更糟糕的是,不久前,一位有15年工作經驗的最佳教師剛剛解約,而且這名教師還是眾多初級教師的導師。你該如何補位呢?
深思熟慮過後,你精心設計了一個自認為有創意的面試方法。當候選人應試時,你讓他們試講一門幼兒園到八年級範圍內的課程。為了確保候選人是全能的,直到面試開始才告知他們上哪一門課。
如果他們成功過關,你便能推斷他們能夠輕鬆地教授任何課程,因為顯然他們在面對試講題目隨機選擇的壓力下仍然能夠表現出色。
招聘啟事發布之後,一些優秀應聘者隨即前來應聘。你打算將這種新方法先在一名候選人身上試用,這名候選人曾與你的一名教員共事過,而且號稱是學校的明星教師。你對她會前來應聘感到驚訝和開心,認為她將完美地通過新的面試流程。你聯繫她確定面試時間,並告訴她這個新的面試方法,好讓她做些準備。
面試的日子到了,候選人來到學校,你感覺她有些緊張。對於一個經驗豐富且簡歷無可挑剔的候選人來說,這有點不尋常。但你並未做過多糾結,便把她領到一間教室開始面試。
「我想請你講授一堂數論課」,她臉色沉了下去,因為她已有10多年沒教過8年級,你不知道這一點。但她確實專業,隨即走上講臺開始授課。她講到了因數,以及如何確定一個給定的數是否可以被2、5和10整除,但她顯然是在硬撐。
當你問到GCF和LCM時,她不理解這兩個縮略語的釋義,你覺得這不太妙。你解釋說你指的是「最大公因數」和「最小公倍數」,但就在這時,你能看出她的自信被擊垮了,她的聲音帶著一絲忿意。
在最後一小時,她磕磕絆絆地講解著數論的重點知識,但你感覺到她完全沒有信心能在一群胡攪蠻纏的八年級學生面前把課教好。雖然她在其他幾次行為面試中表現優異,但你仍堅持她也許不是最佳教師的這種感覺。深思熟慮之後,你決定放棄她,並聘請一位經驗雖少但在「試講」中表現出色的教師。
這例子看起來像是完全虛構的,面試方法也很奇怪,但事實是,這正是軟體工程師的面試過程。我並不是要否認所有編碼面試,我只是堅信按照這種面試方法,他們是招不到高級工程師的。
為什麼?簡單地說,因為高級工程師是不同的,一般的編碼面試不利於他們。原因有很多:
· 他們需要大量的準備時間確保通過。
編碼面試試題是從軟體開發所有領域抽選的,因此很難充分準備。對高級工程師來說,很多事情放大了難題。首先很顯然,他們的學校教育很早就結束了,那可能是他們最後一次學習軟體開發中一些深奧的方面(比如動態編程、紅黑樹甚至遞歸),他們可能需要大量準備時間來回憶各種算法和數據結構。
其次,高級工程師時間緊迫(他們的工作要求很高,而且往往還有重要的個人責任),這就成了一場災難。我曾聽說過,許多高級工程師在向某僱主詢問面試流程後,聽說包含一場編碼面試,便拒絕了面試。
· 他們迫使高級工程師改變工作方式。
高級工程師與編寫面試代碼所使用的基本開發環境相去甚遠。他們通常處在高度優化的環境中,經過多年的改進,希望將自己從不必要的編碼負擔中解放出來。如果人為地限制時間,將他們從帶離原環境,會令他們處於非常不利的地位。
他們可能在過去幾年一直在使用他們舊僱主的專有庫(內存管理、錯誤檢查、追蹤)。一次突然的編碼面試就會把他們從舒適區拉出來,又回到標準庫和簡單文本編輯器的世界。
· 他們測試的內容和未來工作內容不一樣。
也許編碼面試最糟的是,這僅測試了高級工程師工作內容的一小部分。高級工程師的工資通常是新畢業生的3-5倍(或更多)。期望他們產出比新畢業生多出3-5倍的代碼顯然是不合理的——一天辦不到。
相反,你找他們來幹的是支持初級工程師團隊、指導初級工程師、識別系統問題、調試最複雜的問題,以及在編碼時,理解複雜系統以及編碼所需的複雜工作。這些都不在編碼面試裡,這也是高級工程師討厭編碼面試的主要原因之一。
· 他們釋放出一個壞信號。
正如你自知你僱傭一個高級工程師並不是要他來編寫代碼,他們也知道這點。但如果你在招聘中強調編碼面試,就會讓高級工程師懷疑應聘職位:「他們只是想讓我做個程序猿嗎?」、「我來這裡是不是太浪費我的才華了?」、「這是前進了,還是後退?」
你最不該讓一個有才華的工程師在面試過程中懷疑自己或公司的定位,但是編碼面試就是會讓他們產生懷疑。
綜合以上原因,高級工程師討厭編碼面試也就不奇怪了。如果想要吸引優異的高級工程師,並在這個勞動力緊張的市場中減少面試衝突,建議不要再設置編碼面試了。
那我該如何知曉他們會不會編碼?如果你想測驗一個高級工程師的編碼能力,我建議你布置一個非常短的能帶回家的任務(完成時間不超過一兩個小時)。大多數高級工程師應該能用極短的時間完成該任務,這樣可以不用準備編碼面試了,而且可以分成更小的時間段,能夠更好地適應他們繁忙的日程安排。
帶回家的任務還可以讓他們在自己的本地IDE(集成開發環境)中工作(如果他們願意的話),並在必要時可以重新熟悉標準庫。
候選人可根據自己的意願投入多長時間,使你能夠深入了解是什麼成就了他們。他們的意見是否周全?有無全面考慮測試?他們編輯的代碼是否合理、易懂?他們是否非常關心他們作品的質量?換句話說,你將不僅知道他們是否會編碼,而且會知道他們能否編好代碼,能否在更實際環境中編碼。
高級工程師是任何軟體公司的補給,他們最受歡迎、最值錢卻也最難吸引。尤其是在勞動力市場空前緊張的情況下,招聘流程應當根據他們的特定需求調整,因為你對他們的需求遠大於他們對你的需求。
高級工程師討厭編碼面試。若想吸引最好的人才,那你也該如此。
留言點讚關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範