最近一段時間,一直在思考這個問題,結合我自身的經歷,談談如下一些見解。git
每一個階段都有不一樣,通過初級到中級的進步後,不少同窗不知道接下來應該怎麼作才能突破。架構
整體來看,從中級到高級,咱們須要成長的都是些什麼呢?工具
這裏面有一點我必需要重點說一下:開發工具
工做獨立性:明確 What,自行 How ----> 明確模塊,自行 What/How。測試
注意,從明確 What 到自行 How。我的認爲,意識轉換是核心,可以轉變成功的話,那麼也就成功一半了。自行 What/How,就是要求技術同窗們不僅是被動接受輸入了,而是能成爲發動機,推進業務和技術的前進。設計
咱們再看其它也必需要成長的:3d
業務理解、系統架構、工程方法、有效溝通和影響力。code
業務理解cdn
我的認爲更多的是在實踐中積累,「實踐出真知」,可是作任何業務前必定要在內心問一下本身:爲何要作這個?不要侷限於本身只是個代碼輸出工具,要深層次挖掘需求的本質,同時,提出本身專業的建議,能對業務作出抽象、彙總,高擴展地完成業務。項目管理
系統架構
很少說了,這種專業技能,別人幫不了你,多看書多看代碼多思考。
工程方法
看一下常見要求:
熟練使用經常使用的開發工具,可以書寫系統級別的開發文檔(包括需求分析文檔,整體設計文檔,詳細設計文檔等),可以指導低級別工程師完成開發文檔的書寫和 review;
熟悉並實踐基本的開發流程(設計,開發,測試,上線,驗證,回滾等),可以指導低級別工程師遵照相應的開發流程;
熟悉項目 review 流程和要點,如 code review,設計 review 等;可以在項目中遵照 review,提升項目質量;
熟悉經常使用的項目管理和協做工具(git, task, jira 等),可以對項目進行拆分,並使用管理工具進行管理和協同開發。
工程能力是什麼?流程規範,提升效率。對不對?你們記住:規範化->流程化->自動化。一切不以自動化爲目標的工程能力都是瞎忙活。
有效溝通
溝通就是說話嘍?錯,瞎 XX 說不叫溝通。溝通前面還有個修飾:有效。
看具體要求:
熟悉並掌握 STAR 法則;
能選擇合適的溝通方式和工具進行有效溝通;
主持中型討論,可以綜合協調意見,輸出結論;
能以清晰的書面語言表達技術或設計觀點。
注意我強調的,看 STAR 法則。能熟練使用 STAR 法則,那後面的那幾項也沒什麼問題。還有,你們注意,咱們溝通,其實是爲了達成共贏。你們都是合做關係,只是工種不一樣,沒有高低。
指導和影響力
能全面指導低級別工程師,包括業績、素質、領導力、技術能力等多方面的全面成長;
可以積極總結技術經驗,組織或參與相關活動、討論和分享;
在團隊內具備影響力。
以上。
歡迎關注個人 WX 公衆號。 「一枚「遊手好閒」的碼農,與你們一塊兒分享有趣、有用和有溫度的內容。」