1. 程式人生 > >技術人的小目標:10000小時理論落地,你就是大牛

技術人的小目標:10000小時理論落地,你就是大牛

技術

技術人如何一步步成為大牛?該怎樣制定自己職業發展的小目標並達成?只要你能把這10000小時理論成功落地,你就離大牛不遠了!
老司機簡介
李運華,阿里遊戲資深軟體工程師,帶領多個研發團隊,承擔架構設計、架構重構、技術團隊管理、技術培訓等職責;專注於開源技術、系統分析、架構設計,對網際網路技術的特點和發展趨勢有較深入的研究,對系統解耦、高效能、高可用架構有豐富的經驗。

技術人的小目標

首富王健林在採訪時不經意的一句話“先定一個能達到的小目標,比方說我先掙它一個億”瞬間刷爆了朋友圈,朋友們都在充分發揮調侃和自黑的潛力,各種段子都在說自己要先定一個能達到的小目標,比如說我先掙10 billion的辛巴威元 :)

拋開首富的小目標對於我們普通老百姓來說過於巨集大這點外,其實這句話也是挺有道理的,簡單來說就是要循序漸進,不要期望一口吃成一個大胖子。這個道理其實平時大家也都懂,但在這個浮躁的社會,要真正理解並採取行動,並不那麼簡單,比如說“技術人員如何成為大牛”這個話題。

我在一次活動中現場進行了一次演講:《吃的草夠多,你也能成為大牛》,其中提到了10000小時理論,意思就是在一個專業方向上持續不斷的積累10年,就可以成為業界大牛。這個簡單的道理現場讓很多朋友都覺得醍醐灌頂:原來成為大牛也不是那麼難的事情,我也可以成為大牛!

雖然理論上很簡單,但真正要落地實行也並不那麼容易,實行10000小時理論的關鍵在於堅持,我認為堅持的關鍵在於自己對於所從事的事業是否有“激情和興趣”。這點當然是核心,但如果只靠激情支撐,持續10年也確實有挑戰,正如一個朋友在分享會後問我的“要持續10年才能成為大牛啊,時間好長啊”!

如果說做一件事要10年後才能修成正果,估計很多朋友就會放棄了,畢竟像唐僧那麼堅定的信仰者總是少數,大部分凡夫俗子都還是需要持續不斷的激勵才能有動力去做一件事,因為我們的大腦在進化的過程中已經形成了需要持續不斷的獎勵才能保持興奮的機制,也就是說相對於在第10年給一個大獎勵,還不如每年給一個小獎勵。

那如何才能在10年漫長的路上讓我們持續的堅持下去呢?答案其實就是首富的話:“先定一個能達到的小目標”!

我們來看如何將“10年成為大牛”這個目標分解為一個個能達到的小目標。我將這個方法歸納為“三段分解法”,即:將一個巨集大或者長遠的目標經過三次分解,得到一個個短期內能達到的小目標。具體的分解方法如下。

一段分解:瞄準目標

10年成為大牛的目標雖然比較長遠比較巨集大,但並不意味著在沒有成為大牛前,我們一直都是菜鳥。從菜鳥到大牛的過程中,中間其實有幾個關鍵的里程碑,這些里程碑就是我們的一段目標。

以技術人員為例,技術人員典型的發展路徑基本上都是下面的這個模式:

1)0 ~ 1年:菜鳥,需要別人手把手來教

2)1 ~ 3年:初級,需要別人帶你做

3)3 ~ 5年:高階,能獨當一面,可以帶初級技術人員了

4)5 ~ 8年:資深,能獨擋多面

5)8 ~ 10年:大牛,統籌規劃,高屋建瓴

通過上面的分解我們可以看到,雖然說10年才能成為大牛,但是3年就可以達到初級水平,5年就可以達到高階水平,8年就可以達到資深水平,在這個過程中我們一直在成長和提升,而不是說沒有成為大牛就是菜鳥;並且對於很多朋友來說,如果目標不是像首富那樣要賺就賺1億,能達到高階或者資深水平,其實已經可以過得比較滋潤了。

通過這種分解方法,再核對一下自己目前所處的位置,然後先瞄準下一個目標,全力以赴其實也就2 ~ 3年時間,這樣來看一段目標其實是比較容易達成的。

這種目標分解的方法除了適合技術人員外,其它很多領域也都適應,比如說產品人員、運營人員、甚至公務員!

二段分解:掌握技能

經過一段分解後,明確自己目前所處的位置和下一個目標,接下來就要看這個一段目標如何實現了。雖然說每個一段目標持續時間在 2~3年,但3年時間說長不長,說短也不短,如果沒有好好利用,可能到了2年多的時候回頭一看,好像什麼都沒達成,還是原地踏步。因此,為了更好的利用這3年時間,我們需要進一步分解,這就是“二段分解”。

一段分解的維度是等級,二段分解的維度則不一樣,不能再分等級了,否則等級太細就沒法區別了。二段分解的維度變成了“技能”,即:為了達到一段目標,我需要具備什麼樣的技能。

還是以技術人員為例,假設經過自我評估,認為自己目前處於初級階段,而且初級階段的事情已經做得比較順手和熟練了,那麼下一個一段目標自然就是達到“高階”水平。“高階”與“初級”相比,有哪些不同的技能要求呢?

這就需要我們根據各自不同的行業和方向詳細列出來了,如果自己想不出來,網上有很多資料都可以搜尋到,最方便的就是到一個招聘網站,多看看幾個招聘需求的描述,然後歸納總結一下。

我們隨便到網上搜索一個,例如拉勾網上滴滴的“高階Java開發工程師”招聘:

小目標

多看幾個類似的職位招聘,基本上我們就能明白“高階Java開發工程師”的一些基本要求。當然實際上的技能要求比招聘需求的描述還要更加細緻,我個人的習慣是將這些要求整理為一個思維導圖,詳細列出每個技術點。例如:

技術

(注意:以上這個圖只是示例,並不是說所有Java高階工程師都一定是這個要求,例如網際網路行業和電信行業的要求不一樣)

有了這樣一個思維導圖後,我們就可以開始真正進行二段分解了,分解的方法很簡單:哪裡不懂補哪裡!例如:我感覺目前我的資料庫水平一般,僅僅會寫CRUD語句,其它的東西都不懂,那我就開始專攻資料庫這一部分,經過一段時間的專攻來提升自己的水平。

二段目標持續時間一般建議是6個月,既不能太短也不能太長。太短容易讓人陷入為了目標而做的誤區,沒有真正得到有效提升;時間太長的話,3年時間又不夠完成其它目標了,例如要是我定一個目標說2年提升資料庫,那作業系統怎麼辦?網路怎麼辦?……等等。以6個月為一個週期,基本上剛剛好。

經過分解,最終的二段目標可以分解為如下的幾個更小的目標:

1)2016.06 ~ 2017.01:提升資料庫水平

2)2017.01 ~ 2017.06:提升Linux水平

3)2017.06 ~ 2017.12:提升網路和網路程式設計水平

當然,二段分解目標並不是一成不變的,很多時候需要根據我們工作的內容進行調整。例如老大正好安排我來負責優化系統性能,降低機器負載,那麼我完全可以將“提升Linux水平”安排到“提升資料庫水平”之前。

三段分解:規劃執行

二段分解得到技能的小目標後,接下來的關鍵就是要實現這個目標,這就是三段分解的主要目的,即:將技能目標分解為具體要做的事情,然後按照計劃執行。

比如說我的二段目標是“提升Linux水平”,那怎麼樣才能提升呢?可以上網搜尋,也可以去問有經驗的朋友。明確要做的事情後,三段分解需要將二段分解的6個月目標更加細化,分為1個月或者兩個月一個目標。

以我當時加入UC的情況為例,我在華為的時候是在Windows平臺上用VC6進行開發,而到了UC的時候是在Linux平臺上用C++開發,我當時定了“提升Linux水平”的目標,然後通過上網查,找別人問等方法,最終將這個目標分解為幾個步驟:

1)1個月:通讀《UNIX環境高階程式設計》

2)1個月:通讀《Linux系統程式設計》

3)2個月:通讀《UNIX網路程式設計 卷1》

4)1個月:Linux常用命令實戰:tcpdump、ps、top等

通過這種方法,將6個月的目標又進一步分解為1個月的目標,實施起來就簡單多了,每1 ~ 2個月專注一個具體目標,每次完成後都很有成就感,既感覺自己的水平有了提升,又佩服自己能夠堅持按計劃按目標完成任務,雙重獎賞讓自己更有動力進行下一個目標。我大約花了2年的時間將Linux、網路、MySQL三個重點技能從一無所知提升到高階的水平,很多同事都問我之前在華為是不是就是做這方面的,因為他們覺得短時間能達到這個水平是不太可能的。

你的小目標從現在開始!

綜合前面的分析,我們將三段分解提煉一下:一段分解“等級”,二段分解“技能”,三段分解“行動”。通過前面我們的案例就可以看出,原本一個巨集大的“10年成為技術大牛”的目標,經過三段分解,最終得到的是1 ~ 2個月可執行的具體行動,通過這種一步一個腳印的行動,最終就可以達成“10年成為技術大牛”的目標。

還等什麼? 現在就開始實施吧!賺了一個億後,記得給華仔發個紅包。

作者:李運華

文章來源:InfoQ