據說培養這些軟技能,可以有效提升工程師的幸福感!

微信號:InfoQ

微信號:infoqchina

作者|劉俊強

編輯|小智

工程師一向對於「硬技能」——即自身在專業方向上的能力——較為關注,工作環境而言更多的是與計算機打交道,專注於輸出更高水平的代碼,對於「軟技能」提升的關注度不夠造成了大家對工程師的一些誤解,並且工程師在面對不斷更新的計算機技術知識和複雜的職業關係中,會有些茫然不知所措。本次演講將以工程師職業發展的三大階段和身邊案例來講述「軟技能」的作用和需要重點提升的軟技能,從而使工程師的工作生活更加幸福。

本文是迅雷技術總監劉俊強在 QCon 北京 2017《工程師的「軟」技能》專題上所做演講的整理。

寫在前面

本文將分為四個部分進行,首先將簡單闡述下工程師發展所遇到的一些問題,再對硬技能與軟技能進行分析;再推導在不同職業階段哪些軟技能可以讓你更幸福;最後我將聊聊如何來提升工程師的軟技能。

一、工程師發展困境

社會不斷發展,IT 領域技術與產品不停迭代的過程中,作為工程師身處其中我們在職業、生活上的發展困境有哪些?

我們都希望職業生涯有良好的發展,追求上升通道,如專業線的架構師、科學家、又如管理線的技術總監、技術副總裁、CTO 等。實際上我們工程師在職業上面臨的壓力不小,上面便是我列出來常見的一些職業上的壓力。

  • Deadine 魔咒,項目經理、老板總是期望項目越早上線越好,Deadline 總是在前面召喚我們,總得拼盡力氣去趕 Deadline。

  • 升職加薪困境,每個公司擁有自己的晉升考評模式,如何能夠搞懂公司的晉升考評模式,確保自己的貢獻能夠被知道進而升職加薪呢。

  • 還有跟同僚在合作上的溝通,我們會被人反饋工程師不好溝通,是個奇怪的物種。

  • 行業又在不斷變化,O2O、餐飲外賣、共享單車、互聯網 + 等業務模式或概念不斷湧現,怎樣在這變化的行業中,保持自己的職業道路向上發展呢?

技術能力和技術大局觀是工程師賴以生存的前提,IT 行業的商業模式創新和技術創新相互作用,促使彼此前進。毫無疑問,我們在技術上面臨了不小的挑戰,怎麼在保證現有工作完成的情況下,又能跟上工具框架更新,研究新的技術概念、並思考其技術落地性,從日後趨勢而言,越來越需要有經驗的從業人員擁有跨行業的技術廣度,因為互聯網終將變為基礎設施與各個行業進行融合。

案例穿插 #1: 在這些年的從業中,面試過很多的工程師,跟大家分享個某大廠 4 年經驗 Java 工程師的例子,我在對其進行電話面試後發現,他的技術技能在 4 年中發展極為緩慢,可以說是停滯的狀態。究其原因,公司及工作內容是一方面,作為工程師我們如何在這樣的工作環境下還能保證自己的發展呢?我們在後面的內容會解答這個問題。

好像加班對於工程師來說是家常便飯了,除了面臨職業壓力、技術能力挑戰之外,我們還面臨著社會角色所帶來的生活壓力,如健康問題、生活工作平衡的問題以及現實的金錢問題,想到這些有種身體被掏空的感覺。

案例穿插 #2: 在此要跟大家再分享個我身邊的案例。我的一個前同事進行了遊戲領域創業,2 年後公司作價 1 億賣給上市公司,為什麼他能夠做到這樣的事情,我想後面再跟大家分析。我舉這個例子要說的是:並不是沒有機會,怎樣讓自己能夠發現機會,並抓住它才是關鍵的。

二、硬技能 VS 軟技能

前文說了我們工程師所面臨的發展困境,接下來我們介紹下硬技能和軟技能的定義、他們之間的區別與關係。

我們簡單來看看,硬技能、軟技能的定義或解釋吧。

硬技能相對來說容易理解,即我們在專業領域的知識和能力,是實打實的技能,一般能夠客觀評價。

軟技能,我的理解是它是一種「如何生活、工作的能力」,你的工作現狀、生活現狀一定程度上代表了你的軟技能能力。

我們來從三個維度,即定義、可度量性、提升辦法來對比下硬技能、軟技能,並舉例看下硬技能、軟技能的區別。

軟技能及其分類

這是我整理的與職業力有關的軟技能,對工程師而言,在職業方向想要有著更好的發展,這些軟技能十分重要:

  1. 解決問題的能力: 可能你受雇於不是自己的企業,即我們常說的打工,也可能你是自己創業,即自己雇傭自己。在現代商業社會中企業重要職責之一,便是創造價值,直接經濟價值或是社會價值,這樣作為雇員要清楚的是,雇主是需要你來解決問題,不論是工程師或其他崗位,所以職業力裡面重要的一條便是解決問題的能力。首先要建立我就是來解決問題的意識,然後再通過自己的能力或尋求他人幫助來解決問題,解決問題的能力差異便是在公司中人與人之間最重要的差距。

  2. 規劃未來目標: 首先我們需要明確的一點是,認為自己在為他人工作的這個觀點是不正確的。為什麼呢?工作確實是屬於公司的,但你所從事職業的職業生涯是屬於自己的,只不過是在企業的平台上來施展自己的能力並換取酬勞而已。因此,你對未來職業生涯的規劃顯得尤為重要,你想成為怎樣的人,你想成就怎樣的事,你想過著怎樣的生活,都需要你自己進行思考和規劃,這一切都是為了自己,為了更好的生活,這一點需要謹記。面向未來做目標規劃,有大目標,也得有可以在最近 1 年左右做到的小目標,即根據自己的大目標來定若干個小目標。

  3. 溝通能力: 現在企業是以協作為主要模式,孤膽英雄的模式已經是過去式了,當然,如果你是神級大牛的話,可以忽略這一點,因為你可以靠超乎常人的瘋狂技術實力來彌補溝通能力的缺陷。作為工程師經常需要打交道的人有產品經理、測試、UI 和項目經理,由於大家工種不太一樣,所以經常會有爭執或不快。溝通一詞,最重要的點在那個「通」字上,所謂換位思考,先弄清楚對方想表達的內容,再進行交流和溝通,可以讓自己的工作更為的順暢,讓團隊的協作更加順滑。

  4. 職業認知: 什麼是職業認知呢?簡單來說清晰認識自己所處行業的情況,自己公司在行業中的地位,和自身專業領域的技能情況,有了良好的職業認知能夠幫助自己進行更好的職業規劃和發展。有個提升自己職業認知能力的方式值得推薦,便是以投資人的角度來看到自己公司和產品,以高級別職位的角度來看自己的能力。

  5. 工作態度: 這個態度可不是說要求你態度良好,對人和和氣氣、有求必應哦,而是以承擔責任的心態去面向結果來完成工作的態度。

  6. 人際交往: 我想大家都明白這個是什麼,說到工程師短板,都會把這個提出來。同樣作為工程師的我,在剛從業的前幾年在人際交往的處理上同樣做得不好,我後來總結為什麼工程師總是在這塊做不好呢?首選,我們工作面對是計算機,給計算機 Input 再看有沒有我們期望的 Output,如果沒有我們期望的 Output,那我們就 Debug,一切都很簡單,不是 0 就是 1。但人與人間交流、交往不是這樣一回事,不是非黑即白,所以學會跟人打交道之前先理解這點,人的多樣性遠超過我們技術的編程語言、工具框架。簡而言之,多多換位思考、多多訓練是為上策,關於這一點,我也是在不斷學習中。

  7. 晉升階梯: 作為工程師的晉升通道相比較其他崗位而言要稍微輕鬆些,因為對於硬技能考察的較多,當然如果要進行管理線的晉升,對於軟技能的重視也是非常高的。在公司要有良好的晉升,最重要的事情便是成為事情的解決者,勇於嘗試新的機會並承擔責任,以最後的結果輸出來證明自己。

  8. 愛技術、但不要狂熱: 作為工程師,我們可以通過技術做到很多好玩的東西,熱愛技術是很正常的事情,但是不要狂熱,因為在項目對於技術的選型要考慮到其它的隱性成本,如掌握某項特定技術的人在市場上的多寡問題。技術是幫助我們來做到產品價值的工具之一,如果過分的追求技術,會變成舍本逐末,單純追求技術上的滿足不管項目、產品的全局是不負責任的,我們可以將這個想像成帶著腳銬跳舞。

案例穿插 #3: 我有個同事,之前離職進行餐廳創業,在 1 年後餐廳經營步入正軌後,回公司繼續進行研發工作。他仔細分析了自己的職業階段和自己想從事的餐廳創業,覺得自己 1 年時間能夠將事情處理好,於是乎就投入了餐廳創業,將企業裡面使用到的流程優化後,也應用於餐廳管理後,餐廳做得也是風生水起,自己再回歸工程師本行,有著良好的職業認知。

行業的競爭壓力越來越大,社會環境而言變化也很快,如何在時間越發不夠的情況下來將事情做好,生產效率就是很關鍵的,我們來談談生產力分類下的軟技能。

  1. 專注力: 在日常工作和生活中我們可能時常被打斷,特別是當我們工程師進行編碼工作時候,被打斷後,往往需要半個小時或更長來找回當時的工作狀態。挑選時間片段專注於單一任務的方法,可以幫助工程師從這種狀態中脫離出來,當然自己也要學會建立防火牆,專注時間內的其它可能打擾自己的因素需要避免開,如即時通信軟體、微信等。專注於完成單一任務,不要期望並行任務完成得很好,經常性的被打斷會造成專注力的缺失,對於工程師來說缺乏專注力是致命的。

  2. 時間管理: 總是感覺一天什麼都還沒有做,時間就溜走了,分享一個我對於時間利用方式的理解,即碎片事情用碎片時間,完整事情用成塊時間。怎麼理解呢?我們日常有很多的碎片事情,如查郵件、刷微博、看微信等,這樣的事情就可以利用碎片時間來做,例如上廁所、等公交、坐地鐵等;例如完成產品某一功能便是完整事情,需要利用成塊的非打擾時間來完成,這樣才會將時間利用好。

  3. 吃自己的狗食: 技術在不斷更新,隨著我們經驗的增長,在於編碼習慣和架構設計方面的能力也是在提升,要勇於去更新自己之前的代碼,利用你最新的能力和良好的編碼習慣將之前的代碼變得更為優雅。

  4. 有效努力工作: 加班是我們工程師跑不掉的話題,需要思考的是,自己的工作內容,完成時到底用了多少有效時間,千萬不要只是看上去很努力,做了很多無用功或是浪費了時間。當然,如果你公司文化是由加班多少來決定晉升和績效的,要麼玩這個遊戲,有麼離開這樣的公司。

  5. 建立自己的工作方式或習慣: 每個人的習慣和能力都不太一樣,所以在確定工作原則的基礎上來建立專屬於自己的工作方式或習慣,習慣的養成也是需要對自己進行更新的過程,這個過程不會輕鬆,但是是個復利的過程。

  6. 對自己負責: 不論是提升工作效率,還是學習新的技能都是在給自己積累經驗和知識,在進行工作輸出時,需要對自己所完成的內容進行負責,使其達到最好的狀態和輸出標準,這一切的努力都是在對自己負責。

  1. 學習如何學習,如何自我教育: 實際上從大學開始,我們的學習便應該是由自己做主,自己最先需要學會的便是如何學習,如何自我教育。在成年之後,知識的獲取往往是通過主動學習,而不是被動學習所獲得,可以通過閱讀、實踐、與人交流來構成自我教育的良性循環。

  2. 發現自己的知識短板: 根據自己對於職業上升通道或領域專家的了解,來確定在每個不同階段在技能能力上的要求都有哪些,每個階段核心關注的點有哪些,從而來發現自己的知識短板。

  3. 找尋自己的導師: 在學習知識和技能的時候,有一種可以讓你充滿幹勁的方式,就是找到一名導師或偶像,通過導師和偶像來建立自己各個階段的里程碑來追趕他們。

  4. 建立自己的學習技巧: 構建屬於自己的學習技巧是很關鍵的,會讓自己事半功倍。簡單分享下我的一些技巧吧,沒有太過花哨的東西。第一,鍵盤盲打速度要快、準確率要高,能夠很大程度節省自己的時間,我當年是通過 OICQ 同時跟多個女生聊天來練就的盲打和手速;第二,英文要好,這裡的好不是說口語哦,指的是英文閱讀能力,練就的方法就是查看英文官方網站;第三,熟練使用搜尋引擎,我在處理快速學習計算機的階段,閱讀了當時市面上能夠買到的計算機雜誌,會有搜尋引擎技巧的介紹,當然了就是 Google 的技巧,在後來的工作中對自身的幫助特別大,找對應技術資料的速度比別人快;第四,一個穩定的 VPN,為了 VPN 這樣的東西花費是值得的,不要吝嗇這塊的投入。

回顧案例穿插 #1: 前面將到的某大廠 Java 開發工程師,4 年工作經驗技能沒有成長,這便是典型的學習力缺失的案例。適當的不安全感是保證我們安全的前提,如果他能夠發現自己的知識短板,進行補充學習,不會有當前的困境。

  1. 移情能力: 此處的移情不是指「將自己的感情 / 感受移至他人身上」,而是將「他人的感情 / 感受移至自己身上」,每個人的情緒觸發點和方式都不太一樣,與各自的成長生活背景都有很大關係,能夠理解他人的感情 / 感受,這樣對於交往、溝通上都大有裨益。

  2. 運動鍛煉: 工程師工作性質決定了每天會有很長時間是坐著的,以腦力輸出為主的工作性質,這樣使得我們的身體質素面臨很大挑戰。另外,有個說法是工程師是碗青春飯,那麼這樣我們更加需要將自己的身體鍛煉好,才能夠有更為長的職業生涯和生命。

  3. 理財技能: 工程師的收入水平相比較於大多數行業來說是高的,如何做好財務規劃,不指望飛來橫財的方式來進行退休規劃呢,理財技能便尤為重要,工程師不能很好地限制自己的衝動,進行直播打賞、一元購賭博最後深陷債務的例子還是很多的。

  4. 認識自己: 可能世界上最難的事情便是認清自己,甚至有可能需要使用一輩子的時間來不斷刷新對自己的認識,在各個階段我們能夠盡量的認識自己,熟悉自己的各項能力或不足,才能促使我們做到更好的自己。

三、職業發展階段與軟技能

我們在前面介紹了,職業力、生產力、學習力、生活力四個方向的軟技能,那麼到底哪些軟技能能夠更好地幫助我們的工作和生活呢?接下來我們將從職業發展階段,來看看軟技能對我們工作生活的幫助。

  • 受助與學習

  • 獨立貢獻

  • 帶動他人一起貢獻

  • 主管創新階段

一般情況下工作年限 1~3 年,在這個時間內,構建熟悉工作環境並完成被分配的工作,遇到問題需要在別人幫助下解決問題,以學習成長為主。

在這個階段,我們應該更加關注於學習能力和效率工作方式的養成,因為在這個階段需要打好我們的基礎質素,日後才能更加快速地成長。

  • 構建自己的學習方式:在前面有提到,有效的學習方式構建,能夠保證自己通過一定的行為模式來學習新的知識,或是將已有知識加深。

  • 尋找自己的導師:需要有偶像才能幫助自己更好地前進,錨定了導師或偶像的話,我們才能更好地進行技術上的精進,以達到我們確定的目標。

  • 專注力的養成:這個階段職業生涯剛開始,專注力的養成,可以幫助我們提高效率,在單位時間內獲取更多知識或者技能,本階段是個著重積累的階段,所以專注力極為重要。

一般工作 3~5 年,能夠獨立完成具有挑戰性的工作,解決非預期問題,有一定全局意識,已成領域行家。

在這個階段,進入了獨立貢獻階段,所以,更加關注的應該是工作業績成果,跟上個階段相比較,負責的工作更為重要,也會跟其他同學合作,會感覺自己越發忙不過來,於是這些軟技能對於這個階段的同學尤為重要。

  • 時間管理:隨著能力和負責事情重要性的提升,可能會面臨著時間被其它事情所打斷的問題,例如跨團隊溝通、工作匯報以及案例分析等,這樣如何有效地管理時間對你來說非常關鍵,否則會變得事倍功半。

  • 解決問題的能力:這個能力代表了你在這個階段的重要性,畢竟公司是要你來解決問題的哦。

  • 溝通能力:上面有說到,需要跟其他團隊進行溝通,那麼如何有效地溝通以達到最後的成果,是需要我們掌握的技能,當然,溝通能力的不是一蹴而促的,需要我們不斷地復盤訓練。

一般工作 5~10 年,已成領域專家,具備深度與廣度結合的專業知識,帶領他人成長,完成工作任務。

  • 職業認知能力:如何看待你在職業上所取得的成就,以及公司、自己在行業內的水平定位,是你在這個階段需要弄清楚的事情,因為在擁有如此豐富的工作經驗後,如果沒有一定的職業認知能力,會使得自己的職業判斷出現各式各樣的偏差或誤判,這樣的成本相比較前面兩個階段而言是很高的。並且,一般在這個階段你需要帶領他人一起完成工作,如果沒有足夠的職業認知,那麼在帶人完成任務或團隊組建上面或許會走彎路。

  • 規劃目標能力:你想成為什麼樣的人,你想成就什麼樣的事情?在這個階段應該能夠對自己和公司工作進行良好的規劃,因為一般情況下,不會再接到具體的任務安排,而是接到目標安排,你需要根據目標來進行階段實施的規劃,因此不論對於工作還是自身而言,規劃目標的能力在此階段都是非常重要的。

  • 人際交往能力:在此階段時,有時候問題的解決並非僅靠自己的硬實力便能處理,你可能需要相關行業朋友的幫助,這便需要我們自己建立朋友網路,能夠互相幫助解決問題,如何有效地通過價值交換建立人際網路,便是該階段需要具備的軟技能。

一般工作 10+ 年,對行業和領域有了自己的認識和理解,專業水平、人脈都已豐富,職業巔峰時期。

我畫了張簡單的圖片,以便大家可以直觀的看到軟技能與各職業階段的關係。

四、如何提高軟技能?

我們前面提到了一些重要的軟技能,以及在職業不同階段、人生不同階段較為重要的軟技能,我們知道了這些軟技能,我們應該如何提高呢?

認識自己所處職業和人生階段,對自己進行硬技能和軟技能評定。

  • 根據自己的工作年限來確定自己的職業階段,職業階段需要具備的硬技能、軟技能清單可以整理出來,進而對自己的能力進行評定,類似於技能雷達;

  • 根據行業發展情況,分析對應的技能要求,可以簡化成不同行業領域的技術圖譜或技能樹。

以職業長期目標來明確自身職業短、中期目標。

  • 對自己進行職業規劃,根據職業規劃來確定短期、中期目標;

  • 將短期目標轉換成可執行項目。

明確自身軟技能缺失和不足,以訓練的方式進行提升。

  • 以訓練的方式進行技能提升;

  • 什麼是訓練,訓練不是在已知或已會的技能內容徘徊,應該是反復訓練自己的不會內容和技能;

  • 最好理解訓練的方式,便是運動員和我們之前經歷的考試。

不斷攝取知識及信息並思考學習,保持技術及商業靈敏度。

  • 不要局限自己的技術棧,不要陷入對某項語言的盲目崇拜中;

  • 當你手裡只有錘子的時候,看到的東西都是釘子;

  • 需要適當的擴寬自己的知識邊界。

回顧案例 #2: 遊戲創業朋友身上具備的軟技能:專注力驚人、溝通能力好、職業認知良好。

寫在最後

希望本文能對 InfoQ 的讀者們帶來一些裨益,很多時候,你的硬實力——技術水平已經到位了,你缺少的,可能恰好就是那一點點看起來虛無縹緲卻無比重要的軟技能。試著去培養這些軟技能吧,他會讓你過得更幸福!

推薦一個 AWS 在線研討會

AWS 在線研討會免費報名——Amazon Rekognition 是一種讓您能夠輕鬆為應用程序添加圖像分析功能的服務。借助 Rekognition,您可以檢測圖像中的對象、場景和面孔。您還可以搜尋和比較面孔。借助 Rekognition 的 API,您可以快速為應用程序添加基於深度學習的複雜視覺搜尋和圖像分類功能。本在線研討會將會為您介紹 Rekognition 的功能、使用場景並為您做現場 demo 演示。點擊「 閱讀原文 」識別下圖二維碼進行報名!

今日薦文

點擊下方圖片即可閱讀


技術人生二十問,何解?


熱門文章