本筆記來(lái)自于《程序員的思維修煉》的第六章:主動(dòng)學(xué)習(xí)。
今天看到《好奇心日?qǐng)?bào)》推薦的一個(gè)系列,新的一年來(lái)了,你的年度計(jì)劃怎么樣了?最近在看《程序員的思維修煉:開發(fā)認(rèn)知潛能的九堂課》,作者就是《程序員修煉之道》的作者Andy Hunt。感觸挺多,自己也去review了一下自己的計(jì)劃,不僅僅是完成度,而且是計(jì)劃和目標(biāo)本身,是否是一個(gè)合理的計(jì)劃,它的完成度是不是跟它本身有關(guān)。
當(dāng)然,雖然書是程序員相關(guān)的書,知識(shí)都是通用的,書中只有舉的一部分例子來(lái)自程序員界,我覺得大部分想要通過主動(dòng)學(xué)習(xí)提高自己競(jìng)爭(zhēng)力的理工科甚至文科小伙伴都可以看看這本書。自己最近看的一些書也有些有趣的想法。本文接近于讀書筆記和自己的一些想法,比較粗糙。
有效的學(xué)習(xí)需要:
主動(dòng)學(xué)習(xí)。
結(jié)合實(shí)踐。
-
及時(shí)獲取反饋,并針對(duì)反饋?zhàn)鲠槍?duì)性的訓(xùn)練、學(xué)習(xí)。
這也是任何一個(gè)具備足夠心智的人的老師/導(dǎo)師對(duì)你學(xué)習(xí)最重要的形式*,在《萬(wàn)萬(wàn)沒想到》、《暗時(shí)間》等書籍都有提及, *
只是掌握知識(shí)的提綱并不會(huì)提高你的專業(yè)水平。掌握當(dāng)然有用,但是對(duì)你現(xiàn)實(shí)日常工作并沒有貢獻(xiàn)很多。
知識(shí)本身并沒有那么重要,大腦構(gòu)建的模型、為構(gòu)建模型所提出的問題和你日常經(jīng)驗(yàn)對(duì)你的業(yè)績(jī)更加重要,它們才能提高你的競(jìng)爭(zhēng)力和專長(zhǎng)。僅有知識(shí)是不夠的。
為了做到這些,需要持續(xù)的目標(biāo),需要及時(shí)的反饋以了解你的進(jìn)展,需要更加主動(dòng)的學(xué)習(xí)。
使用SMART目標(biāo)和實(shí)用投資計(jì)劃(Pragmatic Investment Plan)管理目標(biāo)和計(jì)劃。PIP來(lái)源于金融投資管理,使用在個(gè)人計(jì)劃與目標(biāo)管理也很合適。
設(shè)定SMART目標(biāo)
如果你不知道去往何處,那么你必須多加小心,因?yàn)槟愫芸赡軣o(wú)法到達(dá)那里。
-- yogi Berra,前美國(guó)棒球手
為了實(shí)現(xiàn)你的愿望——職業(yè)生涯和個(gè)人生活中的學(xué)習(xí)和成長(zhǎng),你需要目標(biāo)。目標(biāo)不能保證你成功。
相信你自己也有過目標(biāo),年度目標(biāo),季度目標(biāo),whatever。這樣的例子不少:
- 我要減肥。
- 我要換個(gè)學(xué)區(qū)房。
- 我要牛逼。
- 我要在母校做演講。
- 我要學(xué)Scala,Haskel。。。
這樣的目標(biāo)都很好,尤其是能夠做到的時(shí)候。
問題應(yīng)該是:它們有沒有被你做到?
如果有,這篇文章也對(duì)你沒有價(jià)值了。這些目標(biāo),都是一個(gè)模式——泛泛而談,崇高的,但是云里霧里?!何蚁胍赬X方面更好?!贿@只是一個(gè)愿望,并不是一個(gè)明確的目標(biāo)。
比如:我想減肥。你想減多少斤?你想通過無(wú)氧訓(xùn)練還是有氧的跑步減肥?你每天想跑多少公里?霧霾天耽誤了計(jì)劃怎么辦?需不需要結(jié)合無(wú)氧訓(xùn)練?如何分配精力?你想學(xué)習(xí)Scala,想學(xué)習(xí)來(lái)做什么?學(xué)習(xí)到什么程度?如何開始?怎么學(xué)?
一個(gè)泛泛而談的目標(biāo),大多數(shù)時(shí)候都只會(huì)泛泛地存在于你的計(jì)劃里,你朋友圈里。如果想要更好地專注于它,更好地實(shí)現(xiàn)它,你需要一個(gè)可操作的、可實(shí)現(xiàn)的目標(biāo)。來(lái)源于《管理實(shí)踐》(The Practice of Management)的SMART方法可以幫助你制定目標(biāo)。
SMART代表:Specific(具體的),Measurable(可度量的),Achievable(可實(shí)現(xiàn)的),Relevant(相關(guān)的),Timeboxed(時(shí)間可控的)。對(duì)于你雄心勃勃的任何目標(biāo),你都需要制定一個(gè)計(jì)劃,制定出一系列幫助你實(shí)現(xiàn)目標(biāo)的任務(wù)(objective)。每一個(gè)任務(wù)都應(yīng)該具有SMART特性。
Specific 具體的
要把任務(wù)具體化,比如,『我想學(xué)習(xí)Scala』,就可以具體為:『我想用Scala編寫一個(gè)scalable和reliable的實(shí)時(shí)計(jì)算框架』。
Mesurable 可度量的
如何知道你何時(shí)完成?制定計(jì)劃和目標(biāo)之前,問自己這個(gè)問題。
為了實(shí)現(xiàn)目標(biāo)任務(wù),不管用什么方法,必須要能夠度量它。它與具體的相輔相成。
度量你的目標(biāo)任務(wù),但是要采取步步為營(yíng)、增量進(jìn)步的方法。
軟件開發(fā)中,可以分解任務(wù),設(shè)定很多小的里程碑,作為一步一步的方向,也是項(xiàng)目進(jìn)度的度量。及時(shí)你現(xiàn)在可能只能看到近期的一兩個(gè)可做的里程碑。
Achievable 可實(shí)現(xiàn)的
自己無(wú)法做到的不是目標(biāo),比如泡到世界小姐?;蛟S是可能的,但是需要過度地付出時(shí)間和資源。
你需要確定目標(biāo)是否合理。從你現(xiàn)在的情景和需求著手,讓每一個(gè)目標(biāo)都可以實(shí)現(xiàn)。
Relevant 相關(guān)的
目標(biāo)需要與你相關(guān),與你想要的東西相關(guān),對(duì)你重要,你對(duì)此要有熱情,是在你自己控制之下的事情。
『我想要特朗普下臺(tái)?!痪褪遣幌嚓P(guān)的,你沒有綠卡還不趕緊寫代碼去?
時(shí)間可控的
這是對(duì)目標(biāo)最重要的特性。你需要一個(gè)明確的Deadline。如果沒有Deadline,目標(biāo)便會(huì)衰退,永遠(yuǎn)被每天更緊急的事情排擠。它永遠(yuǎn)不會(huì)實(shí)現(xiàn)。
*『老師,我就差60分一分,就讓我及格吧!』『老師,我就差59分1分,你讓他59分及格了,你也讓我也及格了吧...』。。。 *
永遠(yuǎn)不要把任何學(xué)習(xí)推到等我有空,事實(shí)證明,你永遠(yuǎn)沒空,時(shí)間無(wú)法被創(chuàng)建,都是分配出來(lái)的。你需要定期的安排。
你的目標(biāo)需要放到更大背景上看它的重要性。
設(shè)定目標(biāo)只是第一步,下一步行動(dòng)是創(chuàng)建小任務(wù)以幫助你每天或者每隔一段時(shí)間都能達(dá)到某種程度。你創(chuàng)建的小任務(wù)越多,就越容易看清自己與目標(biāo)的距離。
*當(dāng)你完成一個(gè)大的任務(wù)時(shí),可能你根據(jù)任務(wù)開始時(shí)的預(yù)測(cè)與設(shè)計(jì),分解出了多個(gè)里程碑和小任務(wù),而在任務(wù)進(jìn)行中,卻發(fā)現(xiàn)了更多的復(fù)雜性,更多的里程碑、小任務(wù)會(huì)被插入進(jìn)去是很正常的事情。越早動(dòng)手越好發(fā)現(xiàn)路有多長(zhǎng)多難,不要在空想和設(shè)計(jì)躊躇太多時(shí)間。 *
使用實(shí)用投資計(jì)劃(PIP)制定計(jì)劃
《程序員修煉之道》作者建議大家把技術(shù)和才干看做一個(gè)知識(shí)投資組合。像任何投資一樣,用金融投資管理的方法論,把自己的時(shí)間與經(jīng)歷投資與知識(shí)與學(xué)習(xí)中,學(xué)會(huì)管理。
我們大多數(shù)人都會(huì)陷入一種默認(rèn)的日程表:等我有空了我要好好學(xué)習(xí)一下Scala;我要好好學(xué)習(xí)一下分布式系統(tǒng)。
然而你有空了嗎?把學(xué)習(xí)活動(dòng)流放到『空閑』時(shí)間去,就等同于計(jì)劃失敗。
*這個(gè)挺常見的,看看你的Pocket的reading list有多長(zhǎng),稍后閱讀(Read It Later) ~= 永遠(yuǎn)不讀(Read It Never)。 *
時(shí)間是無(wú)法創(chuàng)造或者銷毀的。時(shí)間只能分配。
管理你的知識(shí)投資有很多要點(diǎn):
- 制定具體的計(jì)劃。
- 多樣化。
- 主動(dòng)投資。
- 定期投資。
制定具體計(jì)劃
使用SMART法則,在一個(gè)時(shí)間跨度內(nèi),設(shè)定你的目標(biāo)。比如:半年內(nèi),自學(xué)完成MIT 6.824 分布式系統(tǒng)課程,完成全部lab作業(yè)和閱讀論文,這樣具體的具有時(shí)間跨度的目標(biāo)。
做計(jì)劃比計(jì)劃本身重要得多。
多樣性
當(dāng)選擇投資領(lǐng)域時(shí),你需要有意識(shí)地多樣化,不要把所有雞蛋都放在一個(gè)籃子里。
多樣化同樣也要考慮風(fēng)險(xiǎn)和投資回報(bào)率的。
比如學(xué)習(xí)流行的Java語(yǔ)言風(fēng)險(xiǎn)非常低,因?yàn)樗黅IOBE排名持續(xù)前茅,很多大型互聯(lián)網(wǎng)公司,以及銀行都在使用,技術(shù)支持、論壇、書籍、課程、資源非常的多。但這也意味著它的投資回報(bào)率也非常低,有很多的程序員都在使用,就業(yè)崗位面臨大量競(jìng)爭(zhēng)。你學(xué)習(xí)它并不會(huì)變得特別。
而,高風(fēng)險(xiǎn)的技術(shù)也存在。比如NodeJS,依托Chrome V8引擎帶來(lái)的高效率和互聯(lián)網(wǎng)發(fā)展迅速將js推向了后端服務(wù)市場(chǎng),發(fā)展迅速,嚴(yán)重缺人。這在曾經(jīng)可能就是一個(gè)高風(fēng)險(xiǎn)高回報(bào)的投資選擇。
Ruby可能就是下一個(gè)Java,WP可能成為移動(dòng)互聯(lián)網(wǎng)的基石。任何技術(shù),都伴隨著高風(fēng)險(xiǎn)降生,有些的回報(bào)率能夠保持合理并持續(xù)降低風(fēng)險(xiǎn),有些不能。
說(shuō)到底,知識(shí)投資與金融投資的一個(gè)主要區(qū)別是:所有知識(shí)投資都或多或少有一些價(jià)值。即使你的工作里沒有使用某項(xiàng)技術(shù),他也會(huì)影響你的思維和解決問題的方式。
主動(dòng)而非被動(dòng)地投資
《程序員修煉之道》的一個(gè)主要話題就是反饋。你需要及時(shí)地評(píng)估你的計(jì)劃和執(zhí)行結(jié)果,如實(shí)判斷運(yùn)行狀況。
金融投資講究并非守著你的資產(chǎn),而是要主動(dòng)隨時(shí)重新評(píng)估你的投資,主動(dòng)積極投資。
知識(shí)投資也一樣,主動(dòng)汲取反饋,以最新發(fā)展眼光重新修改目標(biāo)或者實(shí)施步驟。
定期投資(成本平均法)
你需要像金融投資一樣,定期投資最低限度的時(shí)間量,養(yǎng)成一種習(xí)慣。安排最少需要消費(fèi)的最低時(shí)間來(lái)在你對(duì)應(yīng)的投資上。
實(shí)踐
- 看看自己的2016年度計(jì)劃/季度計(jì)劃,每一個(gè)目標(biāo)任務(wù)是否符合SMART原則?
- 嘗試修改年度計(jì)劃,并開始遵循SMART和PIP原則,草擬你的2017計(jì)劃。