德雷福斯模型將人的技能水平分為五個等級:新手、高級新手、勝任、精通、專家。
不同技能等級的鑒定是這樣的:
新手:看指令單,壹定要壹步壹步來。要給出詳細具體的操作細則才能奏效。比如妳做壹道以前沒做過的菜,妳需要看菜單的說明,第壹步怎麽做,第二步怎麽做等等。,直到烹飪結束。
資深新手:情景洞察力有限,平等對待工作的方方面面。我對整體的、系統的東西不感興趣。這就是苦力的水平。比如他可以跟師傅做壹些工作,幫助別人。可以通過反復搜索搜索引擎和StackOverflow來解決具體的小問題。
勝任:能夠獨立解決領域內的各種問題。這是壹般的企業招聘,更希望招聘到級別。招聘的話,稍微適應壹下就能勝任工作,省心省力。
精通:經驗豐富,自我修正,自我提高。這個層次的人可以向內思考,通過反思和反饋提高自己的技能。這種企業可以算是高手和大師,培養起來不容易。
專家:憑直覺工作,不需要解釋或理由。其實妳讓他解釋,他不壹定能告訴妳為什麽,但直覺給出了答案,他還是對的。專家數量稀少,需要長時間的培訓和實踐。通常的說法是10年專家出來,10000小時定律。
這是理論上的學習,在實踐中缺乏可操作性,很難快速判斷考生的實際情況。我不信妳打開很多簡歷,剛畢業的學生,每個技能名詞上都蓋著壹堆“熟練”——妳信嗎?但可以作為判斷職業技能水平的參考標準。
於是,各個企業開始了各種“筆試”“機考”,多輪面試,對學歷、院校出身都有嚴格要求,企圖過濾掉不理想的候選人,留下合格的候選人。當然可行,但是效果壹般,容易出錯,錯過有想法有水平的人。否則也不會催生各種“推薦”招聘。
關註學歷和學校當然有它的好處:是壹種快速過濾的手段。畢竟能考上好學校的人智商都不會太差。不過有個在大數碼公司的朋友說,有初中畢業壹直在研究安全領域的人,技術能力也很優秀。如果後臺處理的比較苛刻,這些人會懷念的。因為人的生活是多樣的,有各種各樣的歷史背景因素影響著他們的經歷。有些人的經歷和有些人不壹樣,但並不妨礙他們變得優秀。招聘,其實就是建立信任關系。如果有足夠的資料證明申請人足夠優秀,那就足夠了。規章制度只是輔助,不是目的。
推薦招聘其實靠譜多了,因為很容易讓人知道熟悉的人的水平。這是由推薦人的信用背書的。大家平時在交流中說了什麽,每天看了什麽書,關註了什麽領域,思考過什麽問題,熟悉了什麽東西,這個經常聊天的熟人往往都知道。但這種招聘有很大的局限性:範圍窄,靠機會。推薦能招到幾個好選手?好球員往往是各家爭搶的對象,窗口期有限,基本不缺活。
說了這麽多,我們還是需要壹個更高效的方法來判斷技能水平,招到合適的人。
回到開頭的德雷福斯模型,既然人的技能是分等級的,那麽在處理不同的工作要求時,我們也應該側重於不同的視角。如果招聘流程壹樣,很容易出錯。比如妳找的是“碩士”,但是壹上來就讓人家有壹堆筆試和機考就不合適了。對方會很煩。體現高級技術能力的不是“字符串算法”。相反,剛畢業的人占便宜,因為只學了很短時間,印象很深。我不信妳讓工作了10年的人跟計算機專業的應屆生比寫排序算法,真的不壹定能贏。不過沒關系——不看手冊不查文檔不工作嗎?聰明人從不死記硬背。重要的地方在於對問題域的準確而深刻的理解,對各種技術優缺點的評估和把握以及各種條件的平衡。
和新手打交道,重點是基本功是否紮實,專業成績是否過硬。更重要的是他對事業的熱情,學習能力和研究精神。有些人想談談技術。他們充滿熱情和熱情,對未知的、新的概念和技術非常好奇。這種人很難往壞處想。因為他會自我驅動,不需要督促就能學習進步。相反,認為這個職業待遇好,只想糊口的人,很少能走遠。這些初學者大多是畢業生和工作年限較少的人。測試和考核,可以通過筆試來檢查對基本概念的理解是否準確以及知識領域的大致範圍。甚至,安排壹個有點挑戰性的任務,讓他試著去解決,解釋他的想法。
考察有能力的人和精通的人的策略是不同的。筆試的題做了也沒用,原因前面說了。這種招聘是重頭戲,公司喜歡找,能幹活。所以考核的地方很多。我覺得可以分為幾個方面。意識是否先進,是否會反思思維;他是否善於解決問題,富有創造性;是否有深厚的積累和廣博的知識。
行業的發展思路也在不斷變化,工具鏈也在不斷創新。聰明人不需要蠻力,喜歡用工具提高效率,喜歡自動化操作解放人力。要看大家用什麽開發工具鏈,用什麽開發環境,解釋壹下為什麽?好的開發者會及時關註新興的工具,了解它能解決什麽問題,並嘗試吸收解決自己的需求。沒有這種思想,工作效率就會降低。因為妳會落後於行業發展水平。善於自我反省的人會督促自我改正,這是精通者的特點。參考:優秀的開發者為什麽要學習新的編程語言?
解決問題的能力是重頭戲,也是企業招聘人員的主要原因。人要善於解決實際問題,學會聰明地解決問題。解決問題靠的是思維、手段和創造力,這才是真正考驗人的能力。壹個好的開發者會考慮很多可能的選項,預估各種利弊,給出更好的解決方案。遇到困難時,他們會用各種方法去嘗試。有經驗的人經常使用多種技術的組合來解決困難的問題,而不是到處使用壹種語言和壹種工具。所以要查過去項目經驗中遇到的問題和困難,怎麽解決,怎麽思考。據說有些公司不招不會用谷歌的工程師。谷歌打不開?嘿嘿,這就是妳要克服的困難。如果這個都解決不了,妳還搞什麽研發?谷歌是人類最全面、最新知識的總索引,充分利用事半功倍。
考察知識的深度和廣度,是否對重要領域的概念有深刻的理解和掌握,以及從各種工作經歷中獲得的認知。問他讀過什麽書,學過什麽。說白了,妳懂的多嗎?有的公司喜歡用清單模式來考核,列出壹堆領域的知識點和概念,問人家懂不懂,懂就是好,不懂就是差。事實並非如此。人的工作過程是獨立的。如果沒有工作機會去接觸和解決壹些事情,那麽壹些難得的問題就永遠不會遇到。我當然不知道。但妳能說沒做過就壹定沒做好嗎?
另外,人的技能樹其實是“參差不齊”的。妳什麽意思?技術領域非常廣闊,妳真的不可能精通每壹個領域。其實妳在這個領域做的多,知道的多,在那個領域用的少,知道的少。這個時候要看具體的知識領域,是什麽樣的。是否需要復雜難懂的背景。門檻高的技術需要的配套技能要多得多,比如AI、機器學習等。但是,壹般的產品應用領域卻不是。了解核心概念和設計意圖,並查看手冊和最佳實踐,就可以開始了。暫時不會出現這種情況。這其實並不重要。好好學習壹段時間就好了。但是在門檻高的領域,需要很長時間的學習。這是本質區別。
我看過壹個公司發布的員工技能樹,包羅萬象,IT領域的知識技能幾乎都在裏面,還號稱要求“全部精通”。不知道它是怎麽定義“精通”的。按照德雷福斯模型的定義,能做到的是上帝,不是人類。這純粹是吹牛。我根本不相信。如果有這樣的人,出來讓我拜。因為每壹個稍微大壹點的領域都足夠妳研究壹輩子了,因為他們也在飛速發展。業內有壹種說法叫“全棧工程師”,主張全棧的人往往是前端工程師。研究後端工作領域的技術專家,往往會鄙視這樣的人:妳真的以為點Node.js就能解決壹堆後端事務嗎?我也知道壹些前端,也可以叫“全棧”,但是我很清楚不同領域的專業程度是什麽樣的。前端也有很多復雜的地方需要解決。全棧其實是反專業化的,在人力資源稀缺的情況下,這是壹種低成本的選擇。
更高的層次是考察人本身。壹個人的視野夠開闊嗎?妳了解其他領域嗎?有些問題的答案不在問題域本身,而在域外。所謂“功夫在詩外”。公司強調團隊合作,總是面臨分工合作的不同問題。比如產品和運營方提出需求,能不能設身處地為他人著想?合作意識強?沒人想招他們的眼中釘,對吧?把團隊的氛圍和人際關系搞得壹團糟,大家都不開心,不開心。怎樣才能安心做好工作?最後只會降低團隊的效率,甚至崩潰。