1. 程式人生 > >程式設計師們,你知道面試官是如何考察你的軟素質嗎?

程式設計師們,你知道面試官是如何考察你的軟素質嗎?

點選上方“CSDN”,選擇“置頂公眾號”

關鍵時刻,第一時間送達!

作者簡介:丁志虎,參與過美團Android App、美團旅行Android App開發,目前負責境外度假業務上海側前端和客戶端團隊。

本文來自作者在GitChat上分享“作為面試官,如何考察工程師的軟素質”主題內容。

一、概述

寫本文的初衷是自己做了多年的面試官,前前後後面試了上百名工程師,有時會不禁思考,面試時除了考察候選人專業方面的知識和技能外,是否還要考察工程師的軟素質,如果需要考察的話要怎麼識別這些軟素質。

關於第一個問題,要不要考察工程師的軟素質,我想答案是肯定的,因為一名軟素質較好的候選人進入公司後自己的成長會更快,對團隊的正向影響也更大。

所以,本文更多的是思考如何定義軟素質模型以及如何識別這些軟素質。

?wx_fmt=png&wxfrom=5&wx_lazy=1

如果你是一名面試官或者會有機會參與到團隊的面試工作,那麼通過閱讀本文你可以瞭解到如何識別候選人的軟素質並在面試環節做把關。

如果你是一名剛入門的技術管理者,本文也許可以幫你開啟識人帶人的大門。

更多的情況,大部分同學還是參與到一線的開發中,除了埋頭寫程式碼外,其實更應該瞭解自己的短板,查缺補漏,這樣才能更快更好的成長,希望看完本文後對你也有所啟發。

二、技術面試流程

?wx_fmt=jpeg

通常情況下,網際網路公司會有四輪面試,前三輪是技術面,第四輪是 HR 面。

其中,一面、二面會著重考察候選人的專業知識和專業技能,對軟素質也會做一定程度的把關,三面會著重考察候選人的軟素質,第四輪 HR 面除了考察軟素質外,更多會考察候選人的文化匹配情況。

?wx_fmt=jpeg

可以看到軟素質考察會貫穿到面試的始終,只是每輪側重點不一樣。上面說的是隻是通常情況,具體要面試幾輪以及每輪面試要考察的點視情況不同可能會有所調整。

三、軟素質模型

好了,問題來了,要考察軟素質,首先要定義軟素質有哪些,最好是有個軟素質模型,這個模型還要儘可能的適應公司發展的要求以及匹配公司的工程師文化。

下面說說我對工程師軟素質模型的理解。

?wx_fmt=jpeg

上圖是我總結的工程師軟素質模型,我們從內往外說起。

最核心的是自驅力,是一個人內在的東西。

我們說一個人是不意願成長,一個人是不是自律,指的就是他的自驅力,自驅力是一個人成長的源動力,自驅力好的人後面發展的潛力也會比較好。

中間一層是好奇心和學習能力,技術日新月異的今天,一個人如果不對不斷變化的世界保持好奇心,且不斷學習精進自己,很可能會跟不上節奏。

有句老話說的好,你必須不停地奔跑,才能保持在原地,說的就是這個意思。

最外層分別是溝通表達能力、技術規劃能力、總結覆盤能力。良好的溝通表達能力不僅對個人發展有著至關重要的作用,對團隊合作也大有裨益。

技術規劃能力強的人對問題往往理解的比較深刻,且目標感很強,更容易拿到結果。總結覆盤能力能夠幫助你找出自己的不足,並形成方法論去指導後面的工作。

如何理解這些軟素質之間的關係?

如果把人比作汽車的話,自驅力就是一臺汽車的發動機,好奇心和學習能力是燃料,溝通表達能力、技術規劃能力、總結覆盤能力是實際表現出的外在效能。

四、如何識別軟素質

?wx_fmt=jpeg

如果拿冰山作比,軟素質更多是隱藏在冰山之下,如果要識別考察一個人的軟素質,就需要觀察冰山之上的部分,也就是一個人的行為,所謂的透過現象看本質。

下面就一一說明如何識別這些軟素質。

1. 自驅力

可以從兩個方面來考察候選人的自驅力:目標感和自律。自驅力強的人做事情會有明確的目標,同時比一般人更加自律。

?wx_fmt=jpeg

關於目標感,可以問候選人如下一些問題,是不是經常做計劃?為什麼會做這個計劃?最近的計劃是什麼?計劃是不是足夠 SMART?

關於自律,可以結合上面的問題繼續追問,比如之前制定的計劃完成度如何?如果沒有完成是遇到了什麼原因?如果完成了是因為計劃的挑戰性不夠嗎?

借用Keep的格言:自律給我自由。

結合上面的問題,我們以跑步為例來具體說明一下。

假設候選人給自己定了跑步的計劃,一個自驅力強的人首先會給自己設定個有挑戰的目標,比如一週跑步 3 次,每次 6 公里。同時還會有足夠的自律保證目標的實現,如果計劃的完成度很低很難說這個人自驅力強。

綜上,自驅力強的人對自己會比較狠,正所謂社會我 * 哥,人狠話不多。

2. 好奇心

好奇心大概可以分為兩個層面,一是知道有什麼,二是知道為什麼。

?wx_fmt=jpeg

所謂知道有什麼,就是知其然,是指知道自己所從事的領域或感興趣的領域正在發生的技術進展、技術創新有哪些。

比如對 Android 候選人,可以問他 Android 最新版本是多少?包含哪些新特性?有哪些優秀的開源專案?這些專案的作者是誰?

也可以問一些當下的熱門技術領域,比如人工智慧、深度學習、區塊鏈、數字貨幣等,好奇心稍微強點的同學,對這些新事物應該都不會陌生。

從上也可以看出好奇心和視野也有一定的正相關性,好奇心強的人往往也有比較寬的視野。

再說知道為什麼,也就是知其所以然,除了知道有什麼外,好奇心強的人還會去了解為什麼。

以區塊鏈為例,如果候選人對這個領域感興趣,可以繼續追問如下一些問題,比如區塊鏈的技術原理是什麼?如何實現去中心化的?共識機制有哪些?看過哪些相關資料?

3. 學習能力

?wx_fmt=jpeg

怎麼識別一個人學習能力的強弱?

筆者認為,候選人首先要有學習的意願,其次要有行動,最後還有要有結果。

面試時可以通過問如下的一些問題來了解候選人的學習能力,比如,最近讀了哪些書?讀完後有什麼收穫?是開闊了視野、提高了認知、還是在工作中有實踐?工作中遇到過哪些之前沒遇到過的問題,是如何解決這些問題的?

這類話題很多,出發點就是考察候選人在遇到自己不瞭解、不熟悉的問題時是如何通過學習來掌握相關技能來解決問題的。

當然面試官要有能識別這些問題難度的能力,如果只是解決了一個相對簡單的問題,並不能說明候選人的學習能力很強。

一個學習能力強的人,會不斷花時間去廣泛涉獵、獲取輸入,可能是讀書、訂閱專欄、或是閱讀原始碼,並在工作中不斷去實踐。

同時,他也會不斷提高自己學習的效率,比如用 Google 查閱資料而不是度娘,儘量閱讀官方文件而不是二手資料,等等等等。

相反,學習能力較差的同學很可能都沒有花時間去學習,更別提有什麼收穫了。另外,據我觀察,學習意願強的同學一般會比較謙虛,正所謂敦兮其若樸,曠兮其若谷。通過觀察這些特質,也能幫助面試官窺視一二。

4. 溝通表達能力

溝通的目的是要正確的傳遞資訊,好的溝通表達要簡單明瞭,且能抓住重點。

可以通過問候選人一些偏主觀的問題來考察其溝通表達能力。比如,面試開始前可以讓候選人做個簡短的自我介紹,通過自我介紹觀察候選人的表達是否足夠清晰。

別看自我介紹是件小事,但就是有候選人介紹不好自己,具體表現為沒有清楚表達自己的過往經歷或者介紹時沒有突出自己的亮點。

?wx_fmt=jpeg

也可以讓候選人介紹下最近負責或參與的一個專案,好的表達方式是採用STAR 原則,所謂STAR 原則,即 Situation(情景)、Task(任務)、Action(行動)和 Result(結果)四個英文單詞的首字母組合,它是結構化面試當中非常重要的一個理論。

如果候選人在面試時能夠採用該原則,那麼大概率其在日後的工作中也會採用,果真如此的話,團隊日常溝通會相對順暢不少。更多可以參考 STAR 原則,這裡不再贅述。

實在找不到話題的話,也可以讓候選人介紹一個他比較擅長但是你不瞭解的領域,看他能不能說明白,溝通能力強的候選人會把相對複雜的問題通過淺顯的語言表達出來。

總之,只要留心,面試時還是很容易識別候選人的溝通表達能力的。

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

5. 技術規劃能力

規劃是對未來整體性、長期性、基本性問題的思考,並結合這些思考設計全面長遠的發展計劃和行動方案。

和計劃相比,規劃更加具有前瞻性、全域性性、戰略性和方向性。是高階工程師的一個硬實力。

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

  • 用的是一套開源系統,原始版本 bug 比較多,解決一個問題往往需要一週的時間;

  • 高峰期效能問題嚴重,7 天有 4 天會報警,整體穩定性在 99.8%;

  • 質量問題嚴重,4 次升級出現了 2 次 bug。

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

具體到這個例子,可以定如下的目標:

  • 穩定性提升到 99.99%;

  • bug 率降到 10%;

  • 發現的問題當天跟進;

  • 節省 70% 的機器。

?wx_fmt=jpeg

有了目標後,後面就是對目標進行拆解。

先是對規劃做系統性的描述,清楚執行者自己的位置,這裡推薦用五檢視法(邏輯架構、開發架構、執行架構、物理架構、資料架構)把系統的架構圖畫出來。

畫出架構圖後就可以方便的對系統進行分層,也方便對任務進行明確的拆分。接下來要根據階段性可 check 的原則明確專案的優先順序和里程碑。最後就是風險評估和執行階段了。

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

問完這些問題後,也基本上對候選人的技術規劃能力瞭解一二了。

6. 總結覆盤能力

對專案進行總結覆盤(不管是業務專案還是技術專案)也是一項能力,覆盤的目的是從之前的經歷(可能是成功的經歷,也可能是失敗的經歷)中總結可供指導後續工作的經驗。

總結覆盤的方式也多種多樣,但萬變不離其宗,主要還是圍繞下面幾個內容:目標回顧、進展評估、原因分析、經驗總結,篇幅所限這裡就不再贅述了。

?wx_fmt=jpeg

怎麼識別呢,可以通過如下幾個問題來簡單瞭解下候選人的總結覆盤能力。

例如,有沒有定期做過總結?總結的形式是什麼樣的?最近一次做總結是什麼時候?總結後的結論或經驗有哪些?

關於覆盤總結的話題比較大,想了解更多內容的話,給推薦大家一本書:《覆盤:對過去的事情做思維演練》。

五、一些補充說明

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

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

對於校招或者剛工作不久的同學,會著重考察自驅力、好奇心、學習能力、溝通表達能力,對技術規劃、總結覆盤不做太多要求,但對於高級別的工程師或者技術團隊的管理者,這兩點是需要著重考察的。

六、美團點評的工程師文化

最後跟大家聊一聊美團點評的工程師文化。

看一家公司有沒有工程師文化首先要看這家公司的技術基因,而技術基因跟公司的創始人或者創世團隊有很大的關係。

美團點評的創始團隊以及大部分高管都是工科出身,部分還在早期寫過程式碼,可以說公司的技術基因還是比較強大的。

文化是個很虛的東西,不過通過了解團隊認同的理念和做事的方式,我們還是可以從某個側面瞭解一二。下面是我們認同和踐行的一些理念:

  • 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

  • 自動化一切

————— 推薦閱讀 —————

點選圖片即可閱讀

0?wx_fmt=png

0?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=jpeg0?wx_fmt=gif