去年秋天,在我從事于編寫副業(yè)項目的時候,一個想法出現(xiàn)在我的腦子里,如果沒有盡己所能在可汗學(xué)院付出大量卓有成效的工作,我是不會有足夠的進(jìn)步,不會找到一種方法去完成那么多的事情。
  在我從事如何編寫副業(yè)項目的時候,遇到了一些主要的問題。我主要是在周末,有時候每周的晚上在做這些事情。結(jié)果證實,這個策略對我來說不并不起效。我忍受和承擔(dān)這難以估量的壓力,在周末期間盡量以優(yōu)質(zhì)高效的態(tài)度去完成我的工作(這樣看起來就感覺自己不會是失?。?。但這樣不能保證我每個周末都是空閑的,也不能保證周末這兩天我都能在編程(可能會找個機會去放松,或是做一些有趣的事情)。
  這里面還有一個問題,就是在工作和寫代碼期間有一段很長的時間,這樣就很容易忘記你過去正在做什么了,或者你做到了什么地方(即使你可能做了筆記),更不用說如果你錯過了一個周末,結(jié)果會有二周的差距。大量的多周的上下文切換可能是致命的(我有許多副業(yè)項目就像那樣都餓死了)。
  Jennifer Dewalt 去年完成了難以置信的工作,它自學(xué)編程并在180天構(gòu)建了一個網(wǎng)站。受此鼓勵,我覺得應(yīng)該強迫自己去嘗試類似的戰(zhàn)術(shù):每一天都要忙于我的副業(yè)項目。

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

  我決定給自己指定一下規(guī)則:
  1.我必須每天都要寫代碼。我可以寫文檔,寫博客,或者做其他的事情,但只有我寫完代碼以后,才能去做那些事情。
  2.寫的這些代碼必須是有用的。沒有扭曲的痕跡,沒有代碼的再組織,最好的可能,沒有重構(gòu)(這些事情都是允許的,但不作為一天中唯一的工作)。
  3.所有的代碼必須在午夜前寫完。
  4.所有的代碼必須開源并且上傳到 Github 上。
  其中的一些規(guī)則,主觀上是武斷和隨意的,有些代碼在技術(shù)上并不需要在午夜之前寫,但是我想避免因熬夜寫出草率的代碼,也不會把它開源和上傳到 Github 上。這樣就會迫使自己更加用心的寫代碼(考慮代碼重用性并決定在其過程中更早地創(chuàng)建模塊)。
  迄今為止,我做的很成功,我已經(jīng)在將近20周的時間里持續(xù)不斷的工作。我想寫下,因為它完全改變了我的代碼,并對我的生活和精神產(chǎn)生了重大的影響。

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

  考慮到這一點,一些有趣的事情發(fā)生在這種習(xí)慣的變化的結(jié)果:
  最小可行的代碼。我每天堅持寫代碼不少于30分鐘。(真的很難在更短的時間內(nèi)寫出有意義的代碼,尤其是在記住你在前一天離開的地方)。有時候,我會工作多一點(通常不超過一個小時),在周末我有時可以工作一整天。
  把寫代碼當(dāng)做一種習(xí)慣。需要注意的是,我并不特別關(guān)心上述GitHub上的代碼貢獻(xiàn)數(shù)量的分布圖。我認(rèn)為從這個實驗獲取最重要經(jīng)驗:這是一個變化,你正在為你自己的生活,而不為了作出滿足別人對你工作的看法而改變。同樣的道理,也適用于任何形式的節(jié)食或鍛煉:如果你不關(guān)心自我提升,那么你就永遠(yuǎn)不會成功。
  對抗焦慮。在開始我的項目之前,我會經(jīng)常處在較高水平的焦慮,覺得不能完成“足夠”或進(jìn)行“足夠”的工作進(jìn)度(這兩者都是比較難以量化的,其實我的項目沒有具體的期限)。我意識到取得進(jìn)步的感覺和實際已經(jīng)取到的進(jìn)步一樣重要。這令我大開眼界。一旦我開始每天都在持續(xù)不斷地進(jìn)步,焦慮變開始消失。面對項目上的工作量我會更加心平氣和,我不再有過度承擔(dān)的渴望,以及瘋狂地把事情都搞定。
  周末。在周末完成工作對于推動前進(jìn)勢頭絕對是至關(guān)重要的(因為周末通常是我完成重要的副業(yè)項目的唯一時間)?,F(xiàn)在情況并非如此--這是件好事。建立一個星期的