1. 程式人生 > >作為面試官,如何考察工程師的軟素質

作為面試官,如何考察工程師的軟素質

機制 打開 清晰 是個 比較 技能 區塊 移動架構 全局

本文會跟大家一起分享我的思考,包括但不限於如下話題:

工程師的軟素質模型
如何識別工程師的軟素質
如何發現並改進自己軟素質方面的不足
工程師的職業發展
美團點評的工程師文化
如果你也對這些話題感興趣,歡迎留言交流。

  • 概述
  • 技術面試流程
  • 軟素質模型
  • 如何識別軟素質
  • 自驅力
  • 好奇心
  • 學習能力
  • 溝通表達能力
  • 技術規劃能力
  • 總結復盤能力
  • 一些補充說明
  • 美團點評的工程師文化
    想學習更多Android知識,或者獲取以上相關資料請加入Android技術開發交流2群:862625886。本群可免費獲取Gradle、RxJava、小程序、Hybrid、移動架構、NDK、React Native、性能優化等技術教程!
    概述
    寫本文的初衷是自己做了多年的面試官,前前後後面試了上百名工程師,有時會不禁思考,面試時除了考察候選人專業方面的知識和技能外,是否還要考察工程師的軟素質,如果需要考察的話要怎麽識別這些軟素質。
    關於第一個問題,要不要考察工程師的軟素質,我想答案是肯定的,因為一名軟素質較好的候選人進入公司後自己的成長會更快,對團隊的正向影響也更大。所以,本文更多的是思考如何定義軟素質模型以及如何識別這些軟素質
    技術分享圖片
    如果你是一名面試官或者會有機會參與到團隊的面試工作,那麽通過閱讀本文你可以了解到如何識別候選人的軟素質並在面試環節做把關。如果你是一名剛入門的技術管理者,本文也許可以幫你打開識人帶人的大門。更多的情況,大部分同學還是參與到一線的開發中,除了埋頭寫代碼外,其實更應該了解自己的短板,查缺補漏,這樣才能更快更好的成長,希望看完本文後對你也有所啟發。
    技術面試流程
    技術分享圖片

通常情況下,互聯網公司會有四輪面試,前三輪是技術面,第四輪是HR面。其中,一面、二面會著重考察候選人的專業知識和專業技能,對軟素質也會做一定程度的把關,三面會著重考察候選人的軟素質,第四輪HR面除了考察軟素質外,更多的會考察候選人的文化匹配情況。

技術分享圖片
可以看到軟素質考察會貫穿到面試的始終,只是每輪側重點不一樣。上面說的是只是通常情況,具體要面試幾輪以及每輪面試要考察的點視情況不同可能會有所調整。
軟素質模型
好了,問題來了,要考察軟素質,首先要定義軟素質有哪些,最好是有個軟素質模型,這個模型還要盡可能的適應公司發展的要求以及匹配公司的工程師文化。下面說說我對工程師軟素質模型的理解。
技術分享圖片
上圖是我總結的工程師軟素質模型,我們從內往外說起。
最核心的是自驅力,是一個人內在的東西,我們說一個人是不意願成長,一個人是不是自律,指的就是他的自驅力,自驅力是一個人成長的源動力,自驅力好的人後面發展的潛力也會比較好。
中間一層是好奇心和學習能力,技術日新月異的今天,一個人如果不對不斷變化的世界保持好奇心,且不斷學習精進自己,很可能會跟不上節奏。有句老話說的好,你必須不停地奔跑,才能保持在原地,說的就是這個意思。
最外層分別是溝通表達能力、技術規劃能力、總結復盤能力。良好的溝通表達能力不僅對個人發展有著至關重要的作用,對團隊合作也大有裨益。技術規劃能力強的人對問題往往理解的比較深刻,且目標感很強,更容易拿到結果。總結復盤能力能夠幫助你找出自己的不足,並形成方法論去指導後面的工作。

如何理解這些軟素質之間的關系呢,如果把人比作汽車的話,自驅力就是一臺汽車的發動機,好奇心和學習能力是燃料,溝通表達能力、技術規劃能力、總結復盤能力是實際表現出的外在性能。
如何識別軟素質
技術分享圖片
如果拿冰山作比,軟素質更多是隱藏在冰山之下,如果要識別考察一個人的軟素質,就需要觀察冰山之上的部分,也就是一個人的行為,所謂的透過現象看本質。下面就一一說明如何識別這些軟素質。

自驅力
可以從兩個方面來考察候選人的自驅力:目標感和自律。自驅力強的人做事情會有明確的目標,同時比一般人更加自律。
技術分享圖片
關於目標感,可以問候選人如下一些問題,是不是經常做計劃?為什麽會做這個計劃?最近的計劃是什麽?計劃是不是足夠SMART?
關於自律,可以結合上面的問題繼續追問,比如之前制定的計劃完成度如何?如果沒有完成是遇到了什麽原因?如果完成了是因為計劃的挑戰性不夠嗎?借用Keep的格言:自律給我自由。
結合上面的問題,我們以跑步為例來具體說明一下。假設候選人給自己定了跑步的計劃,一個自驅力強的人首先會給自己設定個有挑戰的目標,比如一周跑步3次,每次6公裏。同時還會有足夠的自律保證目標的實現,如果計劃的完成度很低很難說這個人自驅力強。
綜上,自驅力強的人對自己會比較狠,正所謂社會我*哥,人狠話不多。

好奇心
好奇心大概可以分為兩個層面,一是知道有什麽,二是知道為什麽
技術分享圖片
所謂知道有什麽,就是知其然,是指知道自己所從事的領域或感興趣的領域正在發生的技術進展、技術創新有哪些。比如對Android候選人,可以問他Android最新版本是多少?包含哪些新特性?有哪些優秀的開源項目?這些項目的作者是誰?也可以問一些當下的熱門技術領域,比如人工智能、深度學習、區塊鏈、數字貨幣等,好奇心稍微強點的同學,對這些新事物應該都不會陌生。從上也可以看出好奇心和視野也有一定的正相關性,好奇心強的人往往也有比較寬的視野。

再說知道為什麽,也就是知其所以然,除了知道有什麽外,好奇心強的人還會去了解為什麽。以區塊鏈為例,如果候選人對這個領域感興趣,可以繼續追問如下一些問題,比如區塊鏈的技術原理是什麽?如何實現去中心化的?共識機制有哪些?看過哪些相關資料?
學習能力
技術分享圖片
怎麽識別一個人學習能力的強弱呢,筆者認為,候選人首先要有學習的意願,其次要有行動,最後還有要有結果。面試時可以通過問如下的一些問題來了解候選人的學習能力,比如,最近讀了哪些書?讀完後有什麽收獲?是開闊了視野、提高了認知、還是在工作中有實踐?工作中遇到過哪些之前沒遇到過的問題,是如何解決這些問題的?這類話題很多,出發點就是考察候選人在遇到自己不了解、不熟悉的問題時是如何通過學習來掌握相關技能來解決問題的。當然面試官要有能識別這些問題難度的能力,如果只是解決了一個相對簡單的問題,並不能說明候選人的學習能力很強。

一個學習能力強的人,會不斷花時間去廣泛涉獵、獲取輸入,可能是讀書、訂閱專欄、或是閱讀源碼,並在工作中不斷去實踐。同時,他也會不斷提高自己學習的效率,比如用Google查閱資料而不是度娘,盡量閱讀官方文檔而不是二手資料,等等等等。相反,學習能力較差的同學很可能都沒有花時間去學習,更別提有什麽收獲了。另外,據我觀察,學習意願強的同學一般會比較謙虛,正所謂敦兮其若樸,曠兮其若谷。通過觀察這些特質,也能幫助面試官窺視一二。

溝通表達能力
溝通的目的是要正確的傳遞信息,好的溝通表達要簡單明了,且能抓住重點。
可以通過問候選人一些偏主觀的問題來考察其溝通表達能力。比如,面試開始前可以讓候選人做個簡短的自我介紹,通過自我介紹觀察候選人的表達是否足夠清晰。別看自我介紹是件小事,但就是有候選人介紹不好自己,具體表現為沒有清楚表達自己的過往經歷或者介紹時沒有突出自己的亮點。

技術分享圖片
也可以讓候選人介紹下最近負責或參與的一個項目,好的表達方式是采用STAR原則,所謂STAR原則,即Situation(情景)、Task(任務)、Action(行動)和Result(結果)四個英文單詞的首字母組合,它是結構化面試當中非常重要的一個理論。如果候選人在面試時能夠采用該原則,那麽大概率其在日後的工作中也會采用,果真如此的話,團隊日常溝通會相對順暢不少。更多可以參考STAR原則,這裏不再贅述。

實在找不到話題的話,也可以讓候選人介紹一個他比較擅長但是你不了解的領域,看他能不能說明白,溝通能力強的候選人會把相對復雜的問題通過淺顯的語言表達出來。總之,只要留心,面試時還是很容易識別候選人的溝通表達能力的。

最後,推薦巴巴拉·明托的《金字塔原理》一書,雖然本書主要是講結構化思考的,但對於溝通表達時理清思路,抓住重點還是大有裨益的,因為所有語言都是思考的產物。

技術規劃能力
規劃是對未來整體性、長期性、基本性問題的思考,並結合這些思考設計全面長遠的發展計劃和行動方案。和計劃相比,規劃更加具有前瞻性、全局性、戰略性和方向性。是高級工程師的一個硬實力。

聽起來有點虛,咱們舉個具體的例子,以搜索系統為例,先梳理目前的現狀:

  • 用的是一套開源系統,原始版本bug比較多,解決一個問題往往需要一周的時間
  • 高峰期性能問題嚴重,7天有4天會報警,整體穩定性在99.8%
  • 質量問題嚴重,4次升級出現了2次bug

可以看出,現有系統已經影響了業務的後續發展,需要做技術規劃,對系統進行優化。優化前首先要定個小目標,這個小目標就是優化的方向,目標要遵循SMART原則。具體到這個例子,可以定如下的目標:

  • 穩定性提升到99.99%
  • bug率降到10%
  • 發現的問題當天跟進
  • 節省70%的機器
    技術分享圖片
    有了目標後,後面就是對目標進行拆解。先是對規劃做系統性的描述,清楚執行者自己的位置,這裏推薦用五視圖法(邏輯架構、開發架構、運行架構、物理架構、數據架構)把系統的架構圖畫出來,畫出架構圖後就可以方便的對系統進行分層,也方便對任務進行明確的拆分。接下來要根據階段性可check的原則明確項目的優先級和裏程碑。最後就是風險評估和執行階段了。

說了這麽多,那到底如何了解候選人的技術規劃能力呢,下面幾個問題可以參考下:團隊目前遇到的最重要的三個問題是什麽?有沒有針對這些問題做過技術規劃?具體目標是什麽?目標是不是足夠SMART?裏程碑是什麽?問完這些問題後,也基本上對候選人的技術規劃能力了解一二了。

總結復盤能力
對項目進行總結復盤(不管是業務項目還是技術項目)也是一項能力,復盤的目的是從之前的經歷(可能是成功的經歷,也可能是失敗的經歷)中總結可供指導後續工作的經驗。總結復盤的方式也多種多樣,但萬變不離其宗,主要還是圍繞下面幾個內容:目標回顧、進展評估、原因分析、經驗總結,篇幅所限這裏就不再贅述了。

技術分享圖片
怎麽識別呢,可以通過如下幾個問題來簡單了解下候選人的總結復盤能力。例如,有沒有定期做過總結?總結的形式是什麽樣的?最近一次做總結是什麽時候?總結後的結論或經驗有哪些?關於復盤總結的話題比較大,想了解更多內容的話,給推薦大家一本書:《復盤:對過去的事情做思維演練》。

一些補充說明

  • 面試的過程更多的是挖掘候選人的亮點,而不是去找缺點

  • 一個人的發展不是一成不變的,即便當下某些能力比較弱,也不代表今後不會變強,所以最核心的還是要通過自驅力、好奇心、學習能力去看他的潛力如何

  • 對於校招或者剛工作不久的同學,會著重考察自驅力、好奇心、學習能力、溝通表達能力,對技術規劃、總結復盤不做太多要求,但對於高級別的工程師或者技術團隊的管理者,這兩點是需要著重考察的
    美團點評的工程師文化
    最後跟大家聊一聊美團點評的工程師文化。看一家公司有沒有工程師文化首先要看這家公司的技術基因,而技術基因跟公司的創始人或者創世團隊有很大的關系。美團點評的創始團隊以及大部分高管都是工科出身,部分還在早期寫過代碼,可以說公司的技術基因還是比較強大的。
    文化是個很虛的東西,不過通過了解團隊認同的理念和做事的方式,我們還是可以從某個側面了解一二。下面是我們認同和踐行的一些理念:
  • Think Big, Act Small
  • Keep It Simple & Stupid
  • Done Is Better Than Perfect
  • Talk is cheap. Show me the code.
  • 大道至簡
  • 做有積累的事情
  • Don‘t repeat yourself
  • You Build It, You Run It, You Own It
  • 自動化一切
    技術分享圖片
    想學習更多Android知識,或者獲取以上相關資料請加入Android技術開發交流2群:862625886。本群可免費獲取Gradle、RxJava、小程序、Hybrid、移動架構、NDK、React Native、性能優化等技術教程!

作為面試官,如何考察工程師的軟素質