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