最近讀一本神書 我編程似嗤,我快樂,書名很土具被,內(nèi)容卻異常精彩猫十。原書名 - The Passionate Programmer:Creating A Remarkable Career In Software Development
,或許叫 成為大師之路
應(yīng)該更賣座次和。能讀到如此良心的小書反肋,感覺分分鐘的收獲都是賺了幾百美金!
全書分為5大章
- 選擇市場(chǎng)
- 在產(chǎn)品上投資
- 執(zhí)行
- 推銷
- 保持技術(shù)領(lǐng)先
共53節(jié)踏施,每個(gè)小節(jié)都提出一個(gè)觀點(diǎn)或建議石蔗。最重要的是給出練習(xí)指導(dǎo),讓我們能動(dòng)手實(shí)踐畅形、吸收觀點(diǎn)养距。所謂 知道了很多道理,卻依然過不好這一生日熬。棍厌,最根本的原因就是 紙上得來(lái)終覺淺,絕知此事要躬行竖席。
于是耘纱,我把53條總結(jié)成最重要的7條,指導(dǎo)以后的實(shí)踐怕敬。(為啥是7條呢揣炕,其實(shí)沒啥原因,我寫個(gè)10條也可以东跪。只不過寫完7條畸陡,我就寫不動(dòng)了)
1 - 練習(xí),練習(xí)再練習(xí)
刻意練習(xí) (豆瓣) 是最近特別火的概念虽填。核心思想就是
- 在極限處練習(xí)丁恭,跳出舒適區(qū)。尋找不熟練的部分斋日,不斷地練習(xí)練習(xí)再練習(xí)牲览。
- 重點(diǎn)聯(lián)系一個(gè)又一個(gè)的片段,而非重復(fù)哪些已經(jīng)掌握的部分或是整體恶守。所以第献,如何練習(xí)也是刻意練習(xí)的重要一環(huán)贡必。
一些小練習(xí):
- 在github尋找一個(gè)感興趣的開源庫(kù)∮购粒看看Todo list仔拟、尋找bug、改善文檔等等飒赃,然后提交一個(gè)PR利花。這就是貢獻(xiàn)開源庫(kù)的一個(gè)良好開端。
- 關(guān)注工作中的一個(gè)難點(diǎn)载佳,比如一個(gè)很難修的bug炒事。記錄下自己是怎么處理的。然后精進(jìn)自己這方面的能力蔫慧。
- 我是怎么重現(xiàn)bug的挠乳?
- 我是怎么定位bug所在的代碼?
- 用了哪些工具藕漱,哪些工具好用欲侮,哪些我不熟練。
- 遇到了什么困難肋联?為什么會(huì)卡在那里?我又是如何解決的刁俭。
- 什么時(shí)候我該尋求幫助了橄仍?尋求幫助的途徑又有哪些?
- 下一次遇到了類似的問題我該怎么辦牍戚?可以如何改進(jìn)侮繁。
- 編寫一個(gè)很難卻又精巧的小程序。比如在
Topcoder
如孝、Code Kata
宪哩。進(jìn)一步的挑戰(zhàn),可以把程序的行數(shù)限制在100第晰,再看看能不能解決問題锁孟。 - 選擇一本軟件開發(fā)方法論的書。研究這個(gè)方法例如這個(gè)方法論的優(yōu)劣茁瘦,結(jié)合工作看看能不能運(yùn)用品抽。例如 - 敏捷軟件開發(fā) (豆瓣)
- 選擇一個(gè)小項(xiàng)目,閱讀源碼甜熔。做好筆記圆恤,列出優(yōu)劣,寫寫想法腔稀。
- 檢驗(yàn)學(xué)習(xí)成果最好的方法就是講給別人聽盆昙。嘗試講給朋友聽羽历、嘗試當(dāng)眾演講、講給外行聽淡喜。
2 - 學(xué)習(xí)技術(shù)
技術(shù)永遠(yuǎn)是程序員熱愛的話題秕磷,但技術(shù)是永遠(yuǎn)學(xué)不完的。如何運(yùn)用有限的時(shí)間拆火,去學(xué)習(xí)無(wú)限的技術(shù)是個(gè)學(xué)問跳夭。這也是以后是 rest and vest 還是繼續(xù)苦逼寫代碼的問題。
這里们镜,我們可以做一個(gè)練習(xí)币叹。拿出一張A4紙,從左往右列出最新到最老的技術(shù)模狭,觀察它們的關(guān)聯(lián)颈抚。標(biāo)記出自己擅長(zhǎng)的、不精通的嚼鹉、完全不知道的贩汉。然后去一些技術(shù)網(wǎng)站、招聘網(wǎng)站锚赤,看看現(xiàn)在需要的技術(shù)是哪些瓢省。列出這些技術(shù)的優(yōu)劣羔飞。選出想要學(xué)習(xí)的前幾門技術(shù),每周最少花2個(gè)小時(shí),大致去了解一下這門技術(shù)睦尽。
當(dāng)我們對(duì)這些技術(shù)有了大致的了解混巧,就可以更理性姜挺、更有依據(jù)地去學(xué)習(xí)下一門技術(shù)盐类。
另外,當(dāng)我們學(xué)習(xí)技術(shù)時(shí)寓落。光使用是不夠的括丁,我們應(yīng)該想想它的底層是怎么工作的。例如伶选,當(dāng)用Java時(shí)史飞,了解Java的虛擬機(jī)是怎么運(yùn)行的;使用C++時(shí)考蕾,了解程序是如何編譯祸憋、鏈接、運(yùn)行的肖卧;動(dòng)態(tài)語(yǔ)言和靜態(tài)語(yǔ)言的各自優(yōu)劣蚯窥;使用一個(gè)框架的時(shí)候,了解一下這個(gè)框架是如何運(yùn)作的,讀讀它的源碼拦赠。
3 - 了解你的公司巍沙,業(yè)務(wù)和行業(yè)
程序員不能只寫代碼。代碼說到底荷鼠,只是一種工具句携、手段或者技術(shù)。它所要實(shí)現(xiàn)的目的才是關(guān)鍵允乐。我們可以常常問自己一些代碼以外的問題矮嫉,例如:
- 我的公司是干什么的?
- 競(jìng)爭(zhēng)對(duì)手有哪些牍疏?
- 在行業(yè)的地位蠢笋?
- 公司的財(cái)務(wù)情況怎么樣?
- 品牌形象
- 盈利模式
- 現(xiàn)在面臨的挑戰(zhàn)是什么鳞陨?
- 這個(gè)行業(yè)正在為什么目標(biāo)努力昨寞?
- 有什么新鮮事最近在這個(gè)行業(yè)發(fā)生?
- 有哪些可以提高公司的盈利厦滤、改善品牌形象援岩、拓展新業(yè)務(wù)、改善流程等等
- 除了程序員的工作模式掏导。我了解 designer享怀、data scientist、pm趟咆、manager是怎么工作的嗎凹蜈?
- 這里有一本不錯(cuò)的小書,讓我們可以學(xué)習(xí)一下商業(yè)知識(shí) - Ten days’ MBA
4 - 計(jì)劃忍啸、記錄和反思
有沒有覺得一天不知不覺就過去了,也不知道時(shí)間用在哪里了履植。這里计雌,引入了一個(gè) 三步走的工作方法:
計(jì)劃
每天早晨計(jì)劃一下今天要做的事,然后給每件事算一下要用多少時(shí)間玫霎,如果一件事大到要2個(gè)小時(shí)以上凿滤,那就可以把它分解為更小的任務(wù)。
人總是喜歡做更容易庶近,更快能看到成果的事翁脆。這也就是為什么長(zhǎng)遠(yuǎn)而重要的事,我們總是不愿去做鼻种。并非我們不知道它的重要反番,只是它太過抽象、巨大,以至于我們體驗(yàn)不到能即刻做完之后的成就感罢缸。
所以篙贸,要盡量把大的目標(biāo)分解成小而容易的任務(wù)。這樣我們就更有動(dòng)力去完成枫疆。
記錄
對(duì)于時(shí)間的記錄爵川,可以幫助我們?cè)谝惶斓淖詈笥行У胤此肌?duì)于時(shí)間的如實(shí)記錄很無(wú)聊息楔,但也是最有效能看清時(shí)間去哪兒了寝贡。
曾經(jīng)有一個(gè)近乎變態(tài)的時(shí)間記錄者,一做就是一輩子值依。然而他記錄時(shí)間之精確讓人咋舌圃泡。 奇特的一生 (豆瓣)
反思
經(jīng)過一天,做一個(gè)快速的反思是對(duì)工作有效地復(fù)盤鳞滨。想想這些問題:
- 今天我做了什么洞焙?這些任務(wù)的意義在哪里?
- 有哪些可以改進(jìn)的拯啦?
- 我把時(shí)間用在了哪里澡匪?明天可以改進(jìn)時(shí)間的使用效率嗎?
- 有哪些完成了褒链?有哪些沒有完成唁情?為什么完成/沒有完成?我一天大概可以完成多少任務(wù)甫匹?
- 我如何不斷改進(jìn)這個(gè)一天的流程甸鸟?
如何計(jì)劃
這里有一個(gè)不錯(cuò)的時(shí)間管理方法 - 番茄工作法 其基本思想就是:
- 把每個(gè)任務(wù)分成25分鐘,容易記錄兵迅。
- 更容易讓人在番茄時(shí)間集中精力 - 這也間接完成了本書作者提倡的每天 8小時(shí)激情燃燒 理論
記錄的另一個(gè)好處
如何避免恐慌抢韭,應(yīng)對(duì)焦慮。這是個(gè)有意思的話題恍箭,其實(shí)或多或少現(xiàn)在的程序員或者工作的人都會(huì)有刻恭。對(duì)于未來(lái)的不確定、對(duì)于快節(jié)奏的恐慌扯夭、對(duì)于時(shí)間流逝的焦慮鳍贾。
適當(dāng)?shù)膲毫徒箲]反而能讓人更有創(chuàng)造力、效率更高交洗。那么如何去應(yīng)對(duì)呢骑科?吳曉波(財(cái)經(jīng)作家)_百度百科 說去工作,努力地工作构拳!這是從高處給了答案咆爽。本書作者在給出了一個(gè)實(shí)用方法梁棠。記錄你的恐慌,或者叫恐慌/反思日記伍掀。
很多事情當(dāng)時(shí)看來(lái)是災(zāi)難性的掰茶,但過了些時(shí)候再回顧,不過就是人生中一個(gè)很小的漣漪蜜笤。我們可以想想一周前那件讓我們恐慌和焦慮的事濒蒋、一個(gè)月前呢、一年前呢把兔。所以沪伙,大部分我們認(rèn)為的災(zāi)難并沒有那么糟。
那么县好,知道了這點(diǎn)就能克服恐慌了嗎围橡?很抱歉,還是不能缕贡。因?yàn)槿瞬皇峭耆硇缘匚淌冢栽谖C(jī)來(lái)臨時(shí),我還是會(huì)照樣束手無(wú)措晾咪,因?yàn)槲宜麐屚松洗挝沂窃趺刺幚淼氖詹痢⒂只蛘呙看慰只哦疾灰粯印N疫€是繼續(xù)恐慌和焦慮谍倦。
這時(shí)塞赂,一個(gè)有效的辦法是記錄下自己的恐慌情緒、當(dāng)時(shí)的反應(yīng)和處理方式等等昼蛀。然后過一天宴猾,一周,一個(gè)月叼旋,一年再去回顧仇哆、去反思、去復(fù)盤夫植∷安看看我們遇到這種類似的情況該怎么應(yīng)對(duì),從過去的經(jīng)驗(yàn)學(xué)習(xí)偷崩。當(dāng)我們抽離了當(dāng)時(shí)的恐慌情緒而直面問題本身的時(shí)候,我們會(huì)怎么辦撞羽?再加上阐斜,有了未來(lái)(相對(duì)于過去的恐慌)的后驗(yàn)知識(shí),我們可以總結(jié)更好地應(yīng)對(duì)之法诀紊。慢慢地谒出,我們發(fā)現(xiàn)其實(shí)和恐慌相處不會(huì)那么難了。
5 - 未雨綢繆
永遠(yuǎn)不要高枕無(wú)憂,跳出舒適區(qū)笤喳。
互聯(lián)網(wǎng)技術(shù)發(fā)展得太快了为居,所以沒有什么是永遠(yuǎn)存在的。今天用的技術(shù)可能過幾年就過時(shí)了杀狡,永遠(yuǎn)要保持學(xué)習(xí)之心蒙畴、好奇之心。對(duì)于新技術(shù)要能明銳的感知呜象,當(dāng)它來(lái)臨時(shí)膳凝,努力成為開拓者。比如最近的AI first潮流恭陡,很明顯 Google的 TensorFlow 已經(jīng)成為了一個(gè)準(zhǔn)未來(lái)AI框架蹬音。
同時(shí),想想如果明天就去面試休玩,我現(xiàn)在做的事有多少競(jìng)爭(zhēng)力著淆。
- 我的項(xiàng)目的impact / metric 在哪里?
- 我項(xiàng)目的挑戰(zhàn)在哪里拴疤?
- 我在項(xiàng)目中起到了什么作用永部?
- 我最近在成長(zhǎng)嗎?
- 我準(zhǔn)備好隨時(shí)就能離開現(xiàn)在的公司嗎遥赚?還是被公司的框架和工具困住了扬舒?
- 我到底在為誰(shuí)工作?為公司嗎凫佛?還是為自己讲坎?
- 不要只把自己放在一個(gè)公司去考慮問題,要把自己放到一個(gè)行業(yè)里愧薛。想想自己在行業(yè)中晨炕,現(xiàn)在的競(jìng)爭(zhēng)力怎么樣?
- 從更長(zhǎng)遠(yuǎn)來(lái)說毫炉,我要一輩子都為一家又一家的公司打工嗎瓮栗?我的終極目標(biāo)是什么?為了這個(gè)終極目標(biāo)瞄勾,我該做什么费奸?我又缺少什么?
6 - 推銷自己
走出你的項(xiàng)目組进陡、你的公司愿阐。去推銷你自己。這在這個(gè)互聯(lián)網(wǎng)的時(shí)代變得異常容易:
- 把你的想法寫出來(lái)趾疚,發(fā)到網(wǎng)上去
- 參加聚會(huì)
- 演講
要變得卓越有兩種方法
- 成為你這個(gè)領(lǐng)域的top 1%
- 成為你這個(gè)領(lǐng)域的top 20%缨历,然后在另外一個(gè)領(lǐng)域也是20%以蕴。之后你把兩個(gè)領(lǐng)域的技能結(jié)合起來(lái)。
而第2種方法要容易的多辛孵。
我發(fā)現(xiàn)對(duì)于程序員丛肮,寫作和演講成為變得卓越屢試不爽的方法之一,而且成本低廉魄缚。池建強(qiáng) 宝与、羅永浩(錘子科技創(chuàng)始人)_百度百科、 馮大輝_百度百科 都是很好的例子鲜滩。
一周狀態(tài)報(bào)告伴鳖,讓你的老板更了解你。我記得以前有個(gè)同事每周都給老板發(fā)一周工作總結(jié)徙硅。這樣老板清楚地知道了他在干什么榜聂,在寫performance review的時(shí)候也有據(jù)可循。從此以后嗓蘑,我也就養(yǎng)成了這個(gè)習(xí)慣须肆。可能每周要多花半小時(shí)桩皿,但好處也是顯而易見的豌汇。
- 對(duì)于自己工作的總結(jié)。不但對(duì)老板有交代泄隔,而且對(duì)自己干了什么也更清晰拒贱。
- 沒有哪個(gè)老板會(huì)不讓你寫吧。既然沒有壞處佛嬉,好處呢就是 >= 0的逻澳。
這個(gè)總結(jié)報(bào)告,其實(shí)也是寫作的一種暖呕⌒弊觯可以當(dāng)做一種寫作的聯(lián)系。
在這個(gè)互聯(lián)網(wǎng)的時(shí)代湾揽,讓你的文字成為你的標(biāo)識(shí)瓤逼,讓你的名字成為你的品牌。
7 - 沒有終點(diǎn)的旅程
或者說這趟旅程的終點(diǎn)就是到你死
李開復(fù):人類很多工作會(huì)被取代库物,只剩下兩類-鳳凰國(guó)際智庫(kù) 霸旗,為了不被取代,最好的辦法就是 學(xué)習(xí)學(xué)習(xí)再學(xué)習(xí)戚揭,思考思考再思考
定硝。 保持危機(jī)感、保持好奇心毫目、保持創(chuàng)造力蔬啡。學(xué)習(xí)去跨界,把兩個(gè)領(lǐng)域的知識(shí)結(jié)合起來(lái)镀虐。
你我都身處這個(gè)時(shí)代的洪流之中箱蟆,時(shí)代太快了刮便,我們注定是回不到一生只夠愛一人的從前了。所以恨旱,要不就被時(shí)代所棄辈毯,要不就跑得比這個(gè)時(shí)代更快搜贤。
最后,引用 了不起的蓋茨
的結(jié)束語(yǔ):明天我們將跑得更快仪芒,手臂伸得更遠(yuǎn)。于是掂名,我們奮力拼搏据沈,好比逆水行舟,超越極限饺蔑。