談能力

上週研究網上招聘的崗位描述,並結合本身的經驗與思考,將工做中的能力劃分爲3個方面:技術熟練、分析設計、管理。每一個方面有不一樣的關鍵問題與提高方式,但願藉此自勉,找到合理方向並努力提高。nginx

技術熟練

我理解技術熟練這是最直接的一個方面,做爲一個技術專家,對技術的熟練是必須的。架構

這個方面遇到的主要問題是:新技術層出不窮,永遠學習不完。學習

我面對這個問題的思路分深度和廣度說:雲計算

  • 深度上進一步有進一步的樂趣,不要擔憂學不完。平時遇到的問題要完全弄清楚,至少要能說服本身不留下任何疑點。最好的實踐是經常寫總結。我計劃的《nginx源碼解析》系列就屬於此方面。
  • 廣度上理解新技術的核心原理與典型應用場景(或者是說解決的痛點問題)。例如以前我瞭解雲計算OpenStack就沒有精力在源碼級別研究,甚至連實驗環境都沒有完整搭建,更可能是看看官網介紹與讀書也重點看前2章,能理解到它的價值與原理,細節上就沒深刻了,若是沒有一個合適的應用場景(例如項目須要)我認爲是很難熟悉一個技術的總總細節。而這些細節並不必定是瞭解新技術所必須的。

分析設計

技術熟練上每每能獲得一個正確或相對業界主流的方案。而在實際運用中,須要結合需求與實際狀況。此時我認爲有一種分析設計能力是必須的。設計

開發者經常須要作出選擇,有大有小,一個變量的名詞到關鍵架構決策,無時無刻咱們須要作選擇下判斷。索引

這個方面的主要問題是:場景複雜,沒有完美方案。開發

我面對這個問題的思路:多比對、多交流、讓選擇有理有據。get

結合實際的場景多交流比對,儘量全面的考慮問題,全面考慮問題十分依賴經驗的積累。經驗的積累經過思考提煉,能造成一套方法原則,能抽象出來,那就了不得了。依靠經驗的判斷做用範圍是有限的,總會有超出經驗範圍的事出現,依靠方法作判斷,適用範圍就大不少了,人的信心就出來了。能主動提煉出方法的人,也能不斷改進方法。例如我不熟悉IOS開發,但我就是有自信,哪天須要我必定是能夠勝任的。源碼

全部的選擇儘可能有理有據,不由於本身的偏見作出錯誤的選擇。學習到一個新技術,感受手裏有了把錘子,看什麼都像釘子。而作分析設計時則更復雜,一個問題/場景,須要在各類各樣的方案中來回比對,選擇一個合適的答案。class

管理

工做不可能只面對技術問題,人是一個更重要的方面。這裏提到的管理並不只是管理層的責任,同時也包含了我的的管理。具體的能力包括時間管理、任務管理、流程管理、質量管理、團隊管理、溝通能力等等……

在《軟技能》一書中提到過一種觀念我認爲是頗有意思。「將本身想象成一個企業,把僱主看成你的軟件開發企業的一個客戶吧。不少真正的公司也只有一個大客戶。」這個想法讓工做變得積極主動,再也不是一個被動的僱傭關係。

在這個方面理解的主要問題是:有太多東西不受控制。問題老是複雜多變,而人老是符合人性的。關注人,以人爲本決不是一句空話。

而我頗有限的經驗告訴我須要:多讀書、多思考、經常反思。真誠勤懇多是惟一的正解,盲目自大、虛假終究會出問題。


資料索引

相關文章
相關標籤/搜索