為什麼高階程式設計師討厭程式設計面試? - Adam

banq發表於2021-03-18

想象一下,您是一家希望招募新老師的K-8小型學校的校長。由於您的老師少於20名,因此您必須確保僱用的每個人都可以教任何年級。更復雜的是,您最近失去了一位最好的老師,她是一位擁有15年經驗的人,還是許多初級老師的導師。你怎麼能代替她?
經過一番思考,您可以製作出自己認為是一種創造性的面試方法。當候選人出現時,您將要求他們講授從K-8課程中汲取的課程。為了確保候選人全面發展,您將在面試開始之前不告訴他們要教哪個課程。如果他們做到了這一點,您就可以推斷出他們可以輕鬆地教任何東西,因為他們顯然在壓力下在隨機選擇的主題上表現出色。
對於這種新方法的首次測試,您打算嘗試透過推薦來進行嘗試,某位老師是您的一位職員過去與之合作過的老師,並聲稱是學校的明星。您可以聯絡她安排面談日期,並告訴她您正在使用的這項新技術,以便給她一些準備的機會。
然後面試的日子到了,你的候選人出現在學校。您會感覺到她有點緊張,這很奇怪,因為她是一位經驗豐富的候選人,簡歷無懈可擊。您決定不對此進行詳細說明,而是將她帶到您的一個教室中開始面試。
“我希望您教給我一門關於數論的課程”。那時,她的臉沉了下來,因為您不知道,她已經有10年沒有教過8年級了。但她始終是專業人士。她談到數字的因素,以及如何確定給定數字是否可以被2、5和10整除,但是她正在努力。當您詢問GCF和LCM時,她需要澄清首字母縮寫詞,您認為這是一個不好的訊號。
在一小時的結束時,她無數次地瀏覽了數論的要點,但並沒有讓您充滿信心,她在其他基於行為的面試中表現非常出色,但是您無法擺脫這種感覺,也許她不是最好的室內老師。經過深思熟慮,您決定放棄她,並僱用經驗不足的老師,他們在“課程測試”方面表現出色。
 
儘管這似乎是一個完全人為的示例,並且是面試教學申請者的一種奇怪方法,但這恰恰是用來採訪軟體工程師的方法。
 
為什麼?簡而言之,高階工程師是不同的,典型的編碼面試使他們處於劣勢,原因有很多:
他們花了很多時間準備 —由於編碼訪談來自軟體開發的整個領域,因此很難為詳盡的準備做準備。對於高階工程師,此問題有兩種解決方法。首先,根據定義,他們被進一步從學校除名,這可能是他們最後一次遇到軟體開發的一些更深奧的方面(動態程式設計,紅黑樹,甚至是遞迴)。在各種各樣的演算法和資料結構上重新整理它們的記憶體可能會花費大量的準備時間。除此之外,高階工程師對時間的壓力更大(他們要求苛刻的工作,並且通常承擔重大的個人責任),這成為了一場完美的風暴。

高階工程師與用於程式設計面試的基本開發環境相距甚遠。它們通常具有經過高度最佳化的環境,經過多年的完善,旨在使它們擺脫不必要的編碼負擔。在不加限制的人為的時間約束下,要使它們擺脫困境,將使它們處於顯著的劣勢。此外,他們可能在過去的幾年中一直在使用其現有僱主的專有庫(記憶體管理,錯誤檢查,跟蹤)。一次程式設計面試使他們突然脫離了舒適區,回到了標準庫和簡單文字編輯器的世界。
 
也許與高階工程師進行編碼面試中最令人震驚的方面是,他們僅測試了您要僱用他們做的一小部分。高階工程師的收入通常比新畢業生的收入高出3到5倍(或更高)。期望他們產生比新畢業生多3到5倍的程式碼是不合理的–一天中沒有足夠的時間。相反,您正在尋找他們以使幫助初級工程師團隊,成為導師團隊,識別系統性問題,除錯最複雜的問題,以及在進行編碼時理解複雜的系統以及在其中進行編碼所需的複雜工作。這些方面都無法在編碼面試中得到測試,這是高階工程師討厭它們的主要原因之一。
 
當您在招聘過程中強調面試編碼時,您就會讓高階工程師第二次猜測您要招聘的職位。“他們只是想讓我成為程式碼猴子嗎?” “我會在這裡浪費我的才能嗎?” “這是向前邁出的一步,還是向後邁了一步?” 您想要的最後一件事是讓有才華的工程師對面試過程中的角色或您的公司有疑問。問他們編碼面試問題就可以了。
 
總結所有這些因素,高階工程師討厭編碼面試也就不足為奇了。如果您想吸引最優秀的高階工程師並減少在這個特別緊張的勞動力市場中的面試摩擦,我建議您不要再問他們編碼面試問題了。




 

相關文章