碼了十年 這是些干貨編程經(jīng)驗(yàn)...
掃描二維碼
隨時(shí)隨地手機(jī)看文章
我作為一個(gè)web開發(fā)者的旅程始于2000年,那時(shí)我還只有21歲,我依然可以清楚地記得那些日子里激蕩在我內(nèi)心的感覺(jué)。如果一定要找一個(gè)詞來(lái)形容的話,我覺(jué)得那是——愉悅。
我不需要擔(dān)憂時(shí)間、最后期限和輕重緩急,也不需要擔(dān)心生產(chǎn)力。我所要關(guān)心的只有一件事,那就是學(xué)習(xí),盡可能多和盡可能快地學(xué)習(xí)。
我急急忙忙地前進(jìn)不是因?yàn)闀r(shí)間期限這些事情,僅僅是因?yàn)檫@讓我感覺(jué)良好,讓我覺(jué)得有趣。學(xué)習(xí)如何構(gòu)建東西,發(fā)現(xiàn)一個(gè)全新的世界讓我由衷地興奮不已。
一晃幾年過(guò)去了,時(shí)間來(lái)到了2006年左右,我開始認(rèn)真對(duì)待編程。我開始作為一名web開發(fā)人員參與到專業(yè)的工作中。也許你會(huì)認(rèn)為這樣做毀掉了我所有的樂(lè)趣,我不怪你。這無(wú)疑是一種截然不同的體驗(yàn)。
回首過(guò)往,我作為專業(yè)的web開發(fā)人員的旅程一點(diǎn)也不糟糕,雖然過(guò)程并不總是一帆風(fēng)順。對(duì)于我們?cè)S多人來(lái)說(shuō),工作是為了生活,但如果你愿意的話,工作并不會(huì)阻礙你感到快樂(lè)。
下面我要分享我在這旅程中收獲的可以改進(jìn)工作/生活平衡,并讓工作趣味盎然的一些內(nèi)容。
讓堆棧滾吧!
熱愛(ài)你每天使用的工具自然是好的,特別是如果你已經(jīng)使用了很長(zhǎng)一段時(shí)間??偸撬褜ぷ屪约焊械绞娣臇|西是一種天性。但事實(shí)是,你現(xiàn)在正在使用的堆棧,并沒(méi)有你想象得那么重要,下面我會(huì)告訴你原因。
大多數(shù)新的編程工具被構(gòu)建來(lái)解決前人未能解決的具體問(wèn)題。顯然,隨著時(shí)間的推移,我們?cè)噲D解決的問(wèn)題會(huì)發(fā)生變化,從而使得工具生態(tài)系統(tǒng)很可能也發(fā)生變化,就像不斷進(jìn)化的生命體會(huì)努力適應(yīng)新的環(huán)境一樣。
我必須承認(rèn),我也很慚愧于忽略鋪天蓋地的宣傳,只愿意舒舒服服地使用我久經(jīng)沙場(chǎng)的工具。我也傾向于認(rèn)為讓別人花時(shí)間經(jīng)歷所有的痛苦一步一步往上爬地到達(dá)新技術(shù),才能更有效地學(xué)習(xí),然后當(dāng)在未來(lái)的某個(gè)時(shí)候,如果新技術(shù)被證明是好的,那么我自己采取的策略是快速掌握它。
雖然這些做法是完全可以理解的,但我在這里要告訴你的是,這是愚蠢的做法。事實(shí)上,你應(yīng)該做截然相反的事情。
我鼓勵(lì)你花時(shí)間去學(xué)習(xí)又新又閃亮的語(yǔ)言、框架、模式,不管什么都好,因?yàn)槟鞘悄愠砷L(zhǎng)的方式。那也是你拓展知識(shí)的方式,也是使得工作變得令人愉快的地方。
因此,你應(yīng)該堅(jiān)持的一個(gè)非常重要的事情,是學(xué)習(xí)。挑戰(zhàn)自我去探索新的東西,正是這些使得生活和工作有了樂(lè)趣。
擁抱不舒服的狀態(tài)!
可能只是想想你需要搞定那么一大堆的工作事務(wù)以跟上大家的節(jié)奏,你就已經(jīng)覺(jué)得不舒服了。但其實(shí),你不應(yīng)該這樣想。
走出舒適區(qū),進(jìn)入未知領(lǐng)域是迄今為止最好的學(xué)習(xí)方法。堅(jiān)持老一套不會(huì)教你很多你所不知道的內(nèi)容。
你需要從不同的角度思考,你需要用不同的工具解決不同的問(wèn)題,你需要擴(kuò)展你的知識(shí)領(lǐng)域,你會(huì)享受于其中的每一分鐘。相信我。
不惜一切代價(jià)遠(yuǎn)離壓力!
像那樣處于一種不舒服的狀態(tài)并試圖緊跟行業(yè)發(fā)展的速度,是有負(fù)作用的,因?yàn)槊恳惶於紩?huì)有數(shù)量龐大的新信息洶涌而至。你常常會(huì)覺(jué)得白天沒(méi)有足夠的時(shí)間去做你想要做的一切事情。沒(méi)錯(cuò),這樣的確會(huì)讓你沒(méi)有充裕的時(shí)間做事。
不過(guò)真實(shí)的情況是這樣的,只有屈指可數(shù)的一些內(nèi)容能夠在給定的任何時(shí)間激發(fā)你的熱情,并且如果你能集中注意力到那些事情上的話,那么驟然之間,你會(huì)得到一個(gè)更易于管理的范圍。
我要與你分享的是我的范圍管理系統(tǒng)。這個(gè)系統(tǒng)基于GTD(Getting Things Done)方法和每日目標(biāo)設(shè)置。
長(zhǎng)期目標(biāo)
我使用的主要的衡量單位是長(zhǎng)期目標(biāo),這里的長(zhǎng)期目標(biāo)指的是那些我想要在一段相當(dāng)短的時(shí)間內(nèi)完成的目標(biāo),時(shí)間范圍從幾天到幾周。
長(zhǎng)期目標(biāo)的一個(gè)例子是“閱讀《Javascript Pattens》”或“為UtmTag.com建立預(yù)訂系統(tǒng)”。這些都是長(zhǎng)期的,因?yàn)楹苊黠@你不可能一口氣做完。
如何定義長(zhǎng)期目標(biāo)的一個(gè)非常重要的方面是,有一種循序漸進(jìn)的感覺(jué)。我的意思是每一個(gè)長(zhǎng)期目標(biāo)都有一個(gè)我可以明確的結(jié)束日期。
因此,長(zhǎng)期目標(biāo)不是“我要賺大錢”,因?yàn)闆](méi)有明確的方法來(lái)衡量這個(gè)過(guò)程和進(jìn)展(我強(qiáng)烈建議閱讀David Allen寫的《Getting Things Done》這本書,如果你想要知道在實(shí)際中關(guān)于如何定義目標(biāo)的話)。
在前面的例子中,我可以輕松地說(shuō),“好吧,這本書我已經(jīng)看了有一半了,所以我完成了進(jìn)度的X”,或者“我可以在一兩周內(nèi)完成這個(gè)系統(tǒng)”。
在長(zhǎng)期目標(biāo)上取得進(jìn)展是一個(gè)重要的激勵(lì)因素。因?yàn)槿绻荒芎饬窟M(jìn)度的話,我們很容易中途放棄。
每日目標(biāo)
那些長(zhǎng)期目標(biāo)在展望宏偉藍(lán)圖的時(shí)候很有用,但是除此之外,還有一個(gè)神奇的秘訣。要想每天都按照預(yù)先規(guī)劃前行,最重要的一個(gè)技巧是每天都有充足的動(dòng)力去完成一部分長(zhǎng)期目標(biāo)。這就是為什么我喜歡將長(zhǎng)期目標(biāo)聯(lián)合每日目標(biāo)一起使用。
每日目標(biāo)要小得多,正如其名,其范圍是一天。所以任何需要超過(guò)一天時(shí)間才能完成的任務(wù)都不是每日目標(biāo),不過(guò)可以通過(guò)再次細(xì)分使之成為每日目標(biāo)。
如何定義每日目標(biāo)甚至比定義長(zhǎng)期目標(biāo)更重要。你需要實(shí)際安排每天能完成的工作量,同時(shí)要考慮到一些你不能控制的事情,例如跑腿和其他事務(wù)。
我建議從很小的工作量開始(例如2H小時(shí)/天),看看自己能否在這個(gè)基礎(chǔ)上增加工作量而不會(huì)覺(jué)得不堪重負(fù)。
每日目標(biāo)的一個(gè)例子是“在UtmTag.com上花2小時(shí)編碼”,其長(zhǎng)期目標(biāo)是“為UtmTag.com建立訂閱系統(tǒng)”,每日目標(biāo)能夠使得我們靜下心來(lái)每天有一定的進(jìn)展。
相比于長(zhǎng)遠(yuǎn)目標(biāo),這些每日目標(biāo)似乎比較渺小,但是一點(diǎn)點(diǎn)累計(jì)起來(lái)并且當(dāng)你再回過(guò)頭來(lái)看的時(shí)候,你會(huì)發(fā)現(xiàn),咦,原來(lái)你的長(zhǎng)期目標(biāo)已經(jīng)完成了一半。
自得其樂(lè)
曾經(jīng)有段時(shí)間我希望時(shí)間能一直停留在周末,這樣我就不用回去上班了。也有一段時(shí)候,我迫不及待地?cái)?shù)著假期結(jié)束,以便于回到工作崗位上。
那么,為什么會(huì)有兩種截然相反的心情呢?會(huì)出現(xiàn)第一種感受是因?yàn)槟悴坏貌蛔鲆恍┠悴幌矚g的事情,而第二種則是因?yàn)槟闩d奮不已以致于沒(méi)有顧慮其他。
很明顯,第二種感情是我們大多數(shù)人所希望的,那么我們可以做些什么呢?我發(fā)現(xiàn)了興奮這種感情的一些特點(diǎn),并且我正在試著融入我每一天的工作中。
什么讓工作變得有樂(lè)趣?
在你考慮將樂(lè)趣融入到你的日常工作之前,你必須先定義對(duì)于你而言樂(lè)趣意味著什么。
對(duì)我來(lái)說(shuō),樂(lè)趣是指通過(guò)完成我以前認(rèn)為不可能的事情——歸咎于感知到的復(fù)雜——而實(shí)現(xiàn)的某種啟迪。
因此,挑戰(zhàn)自我去探索和學(xué)習(xí)新的東西,而不是工作于那些陳詞濫調(diào)的任務(wù),使我更享受于我的工作。
這讓我明白了我應(yīng)該少做那些沒(méi)有這種特點(diǎn)的工作,多做那些有這些特點(diǎn)的工作。
我享受的工作
當(dāng)然,我享受的工作,別人可能會(huì)覺(jué)得難以茍同,這很正常。但是我依然想分享一些東西,這些東西讓我覺(jué)得自己像一只快樂(lè)的小蜜蜂,你可以借鑒我的點(diǎn)子,制作出你自己的清單。
工作于我自己的項(xiàng)目/思路
工作于促使我學(xué)習(xí)的項(xiàng)目
致力于開源
探索新的編程技術(shù)
探索新的編程語(yǔ)言
磨礪我的編輯技巧
擺弄我的編輯器配置
結(jié)論
請(qǐng)記住,你選擇做什么樣的工作,其實(shí)就是選擇了什么樣的生活和什么樣的工作感受,這完全取決于你。所以,如果你想享受你的生活,那么你酒應(yīng)該喜歡上你的工作。