快速提升
前面提到有關(guān)于學(xué)習(xí)能力的話題榴鼎,既然你選擇了程序員這個(gè)行業(yè),就得接受在將來(lái)的日子里保持持續(xù)學(xué)習(xí)的狀態(tài)澳腹,軟件行業(yè)的技術(shù)翻新速度非持危快杨何,換一個(gè)項(xiàng)目可能就換一種開(kāi)發(fā)語(yǔ)言、開(kāi)發(fā)工具沥邻,甚至是操作系統(tǒng)危虱,如果不能適應(yīng)快速的節(jié)奏很可能就被新人超越。
我見(jiàn)過(guò)很多畢業(yè)生唐全,也帶過(guò)好幾個(gè)畢業(yè)生埃跷,雖然剛畢業(yè)時(shí)可能都曾躊躇滿志,但實(shí)際上大多數(shù)在入職的前幾個(gè)月?tīng)顟B(tài)都不太理想邮利,從學(xué)校里幫導(dǎo)師做的小項(xiàng)目突然切換成大型商用產(chǎn)品項(xiàng)目弥雹,流程、規(guī)范延届、工具剪勿、語(yǔ)言、業(yè)務(wù)方庭,所有的一切都太不同厕吉,海量的信息撲面而來(lái),很容易無(wú)所適從二鳄。這種感覺(jué)就好像熱血網(wǎng)絡(luò)小說(shuō)的主人公赴涵,本來(lái)以為可以從小怪開(kāi)始,一路順利升級(jí)到人生巔峰订讼,結(jié)果剛背了把破劍從村子出來(lái)髓窜,轉(zhuǎn)角就遇到了終極BOSS……
學(xué)習(xí)的原動(dòng)力
在校期間學(xué)習(xí)的動(dòng)力來(lái)自考試的壓力,包括大學(xué)欺殿,因?yàn)閷?shí)際上學(xué)生們并不清楚課本上的知識(shí)除了應(yīng)對(duì)考試外還有什么其他用途寄纵,而且要學(xué)習(xí)的課程那么多,要說(shuō)全部有興趣也不太可能脖苏,如果一個(gè)學(xué)生具備正確的學(xué)習(xí)態(tài)度的話程拭,最終結(jié)果的上下主要是智商的比拼。
職場(chǎng)上學(xué)習(xí)的動(dòng)力來(lái)自于職業(yè)技能的要求棍潘,和在校期間不一樣的是我們基本上可以排除掉態(tài)度的影響恃鞋,畢竟沒(méi)有誰(shuí)會(huì)和錢(qián)過(guò)不去(土豪除外)。而作為程序員來(lái)說(shuō)亦歉,其實(shí)也沒(méi)有太多智力上的要求恤浪,要接受這一點(diǎn)可能會(huì)有點(diǎn)爭(zhēng)議,但實(shí)際上軟件行業(yè)發(fā)展到今天肴楷,大多數(shù)真正需要智力來(lái)應(yīng)對(duì)的工作都被前輩大神搞定了水由,比如說(shuō),高級(jí)語(yǔ)言赛蔫、設(shè)計(jì)模式砂客、開(kāi)發(fā)框架泥张、算法庫(kù)等等,所以我們自稱碼農(nóng)并不是完全沒(méi)有道理鞠值,更不用說(shuō)剛?cè)肼毜男率殖绦騿T了媚创。
有的新手程序員我們?cè)诙唐趦?nèi)就能看到飛速的成長(zhǎng),甚至可以預(yù)期他們將會(huì)成為這個(gè)行業(yè)中佼佼者齿诉,讓這部分程序員迅速和其他人區(qū)分開(kāi)來(lái)的因素就是前面提到的興趣筝野,我稱之為原動(dòng)力,一個(gè)對(duì)寫(xiě)代碼真正充滿興趣的人粤剧,會(huì)主動(dòng)想辦法去提升自己的代碼水平歇竟,對(duì)代碼精益求精,對(duì)問(wèn)題刨根問(wèn)底抵恋,會(huì)因?yàn)樽约旱拇a能精確的運(yùn)行而感到欣喜焕议;而相對(duì)的,對(duì)寫(xiě)代碼興趣寥寥的程序員來(lái)說(shuō)弧关,只要他們的代碼看起來(lái)盅安,貌似,大概世囊,可能滿足了需求别瞭,他們會(huì)覺(jué)得這就夠了。
工作這么多年株憾,我見(jiàn)過(guò)很多程序員其實(shí)對(duì)寫(xiě)代碼沒(méi)有太大興趣蝙寨,有一部分最終會(huì)轉(zhuǎn)型管理、銷(xiāo)售嗤瞎、測(cè)試等崗位墙歪,轉(zhuǎn)型之后也發(fā)展的也不錯(cuò),還有一部分則作為一個(gè)平庸的程序員一直耗著贝奇,運(yùn)氣好的能在一些清閑的項(xiàng)目做一些維護(hù)類(lèi)的工作虹菲,但早晚有一天還是會(huì)像南郭先生一樣被識(shí)破,很可能就是辭退掉瞳。
對(duì)于新手程序員來(lái)說(shuō)毕源,如果可能的話盡快弄清楚自己到底對(duì)寫(xiě)代碼有沒(méi)有興趣,如果沒(méi)有陕习,盡快找到自己真正感興趣的工作并開(kāi)始超這個(gè)目標(biāo)努力霎褐,盡快跳槽,千萬(wàn)別因?yàn)槭裁磳I(yè)對(duì)口之類(lèi)的借口而猶豫衡查,你還有大半輩子的時(shí)間瘩欺,不管是什么工作你都有足夠的時(shí)間去學(xué)習(xí)必盖。這樣做對(duì)自己拌牲,對(duì)所在的團(tuán)隊(duì)俱饿、公司都好。
一萬(wàn)小時(shí)天才理論
一萬(wàn)小時(shí)定律相信很多人都有映象塌忽,在百度百科上有這樣的說(shuō)明:
要成為某個(gè)領(lǐng)域的專家隧膏,需要10000小時(shí)圾浅,按比例計(jì)算就是:如果每天工作八個(gè)小時(shí),一周工作五天,那么成為一個(gè)領(lǐng)域的專家至少需要五年摧莽。這就是一萬(wàn)小時(shí)定律。
如果世界真有這么簡(jiǎn)單的話那就好了排惨,現(xiàn)實(shí)是我們很多程序員每天工作的時(shí)間不止八個(gè)小時(shí)榕酒,一周工作六天甚至七天,但五年之后也僅僅只是個(gè)普通的程序員眷蜓,離軟件開(kāi)發(fā)領(lǐng)域的專家差了十萬(wàn)八千里不止分瘾,比如我……
換個(gè)例子,我們每天都要睡覺(jué)8個(gè)小時(shí)吁系,我已經(jīng)睡了30年德召,然而最近我的睡眠質(zhì)量并不太好,而且我一直也沒(méi)搞不清楚原因所在汽纤,顯然雖然我已經(jīng)睡了8萬(wàn)多個(gè)小時(shí)上岗,然而我對(duì)于睡眠的認(rèn)識(shí)并不比一個(gè)剛出生的寶寶多多少,最起碼我做不到睡的像一個(gè)寶寶那么香甜蕴坪。
如果你去認(rèn)真了解《一萬(wàn)小時(shí)天才理論》這本書(shū)的話肴掷,會(huì)發(fā)現(xiàn)所謂一萬(wàn)小時(shí)定律其實(shí)就是學(xué)習(xí)方法的問(wèn)題,其核心是刻意練習(xí)辞嗡,在你練習(xí)一萬(wàn)個(gè)小時(shí)之前捆等,首先你得搞清楚下面幾個(gè)問(wèn)題:
- 目標(biāo)是什么?
- 該練習(xí)什么续室?
- 該怎樣練習(xí)栋烤?
- 怎么衡量練習(xí)的效果?
作為一個(gè)新手程序員要快速提升技能其實(shí)也一樣挺狰,并不是寫(xiě)一萬(wàn)次
printf("Hello world.");
就能讓你成為一個(gè)優(yōu)秀的程序員明郭,而是首先要先搞清楚自己和身邊的高手相比差距在哪里,如果用腦圖的方式丰泊,不妨先定義出幾個(gè)粗略的維度薯定,比如:
- 編程語(yǔ)言
- 設(shè)計(jì)原則
- 開(kāi)發(fā)工具
- 業(yè)務(wù)知識(shí)
- ...
然后針對(duì)每個(gè)維度具體化,尋找練習(xí)的方式瞳购,不停的回顧練習(xí)的效果和與高手之間的差距话侄。具體的練習(xí)方式可能有讀書(shū)、編寫(xiě)特定代碼、整理博客(就像我現(xiàn)在正在做的)年堆、或者是觀察高手思考的方式等吞杭,一開(kāi)始可能是模仿,然后是體會(huì)变丧,然后是掌握甚至超越芽狗。
一句話總結(jié)就是,不管做什么都要有思路痒蓬,知道自己在做什么童擎。這樣即使做錯(cuò)了,也知道自己錯(cuò)在哪里攻晒,以后不會(huì)繼續(xù)犯類(lèi)似的錯(cuò)誤顾复,這樣你的提升就會(huì)很快。