上週研究網上招聘的崗位描述,並結合本身的經驗與思考,將工做中的能力劃分爲3個方面:技術熟練、分析設計、管理。每一個方面有不一樣的關鍵問題與提高方式,但願藉此自勉,找到合理方向並努力提高。nginx
我理解技術熟練這是最直接的一個方面,做爲一個技術專家,對技術的熟練是必須的。架構
這個方面遇到的主要問題是:新技術層出不窮,永遠學習不完。學習
我面對這個問題的思路分深度和廣度說:雲計算
技術熟練上每每能獲得一個正確或相對業界主流的方案。而在實際運用中,須要結合需求與實際狀況。此時我認爲有一種分析設計能力是必須的。設計
開發者經常須要作出選擇,有大有小,一個變量的名詞到關鍵架構決策,無時無刻咱們須要作選擇下判斷。索引
這個方面的主要問題是:場景複雜,沒有完美方案。開發
我面對這個問題的思路:多比對、多交流、讓選擇有理有據。get
結合實際的場景多交流比對,儘量全面的考慮問題,全面考慮問題十分依賴經驗的積累。經驗的積累經過思考提煉,能造成一套方法原則,能抽象出來,那就了不得了。依靠經驗的判斷做用範圍是有限的,總會有超出經驗範圍的事出現,依靠方法作判斷,適用範圍就大不少了,人的信心就出來了。能主動提煉出方法的人,也能不斷改進方法。例如我不熟悉IOS開發,但我就是有自信,哪天須要我必定是能夠勝任的。源碼
全部的選擇儘可能有理有據,不由於本身的偏見作出錯誤的選擇。學習到一個新技術,感受手裏有了把錘子,看什麼都像釘子。而作分析設計時則更復雜,一個問題/場景,須要在各類各樣的方案中來回比對,選擇一個合適的答案。class
工做不可能只面對技術問題,人是一個更重要的方面。這裏提到的管理並不只是管理層的責任,同時也包含了我的的管理。具體的能力包括時間管理、任務管理、流程管理、質量管理、團隊管理、溝通能力等等……
在《軟技能》一書中提到過一種觀念我認爲是頗有意思。「將本身想象成一個企業,把僱主看成你的軟件開發企業的一個客戶吧。不少真正的公司也只有一個大客戶。」這個想法讓工做變得積極主動,再也不是一個被動的僱傭關係。
在這個方面理解的主要問題是:有太多東西不受控制。問題老是複雜多變,而人老是符合人性的。關注人,以人爲本決不是一句空話。
而我頗有限的經驗告訴我須要:多讀書、多思考、經常反思。真誠勤懇多是惟一的正解,盲目自大、虛假終究會出問題。