Jennifer Dewalt:完成180個網站之後,我準備餘生就做程式設計師

TonyRideBike發表於2013-10-16

伯樂線上導讀:之前@deepfish 編譯了 Jennifer Dewalt 在第 115 天的博文。記得她那篇博文當時在 Hacker News 上是有 2000 多得分,引起熱烈討論。 9月份也去她部落格檢視她的最新進度,發現到了 160 多個了。 9月27日,Jennifer 更新部落格,說自己終於完成目標了,非常非常高興和激動,有點難以言表。她的第 180 個小專案是 Hello World ,哈哈,這其實就是一個撒花的求讚的小程式。 180 天堅持下來,她自稱“相當不堪重負了”,得花些時間來補覺,放鬆放鬆,還有消化之前所學的。下面內容是她在10月3日寫的另外一篇博文,透露她在堅持180天后的想法。由@anthonyxoxo 翻譯。

 

我通過180天做180個網站來學程式設計,現在我好想放個假!過去的六個月中,我熬了無數個夜,經常在失敗中精疲力竭,但這一切相比達到我的目標,都是值得的。

我說的這些細節都可以在這篇博文中找到,但是TL;DR的版本沒有更早的程式設計經驗,我決定我要學程式設計。我沒有參加課程或者是訓練營,相反,我選擇 JFDI 的方法,並遵循這三條規則:

  1. 在連續180天中,每天建一個不同的網站。
  2. 每個做一個網站必須同時寫一篇部落格。
  3. 我所寫的任何程式碼必須在GitHub上公共開放這樣每個人都能看見了。

(譯註:JFDI = ”Just Fucking Do It“;TL;DR = Too Long; Didn’t Read)

 

背景

我是學藝術的。吸引我學習藝術的緣由是,它為探索人們如何溝通和互動提供了一個平臺。在過去,我通過雕塑和繪畫來探索人際交流。但是很快我就開始考慮技術的方法。

科技,尤其是網際網路,為我們開啟了無數驚人的溝通方式,我們可以傳播、消費大量的資訊。在我看來,網際網路是很棒的,我有些痴迷於它可以通過計算機進行交流的方式。然而,不是所有人都像我這樣對網際網路充滿激情,那我該怎樣讓他們知道網際網路的魅力呢?我意識到我的繪畫並不能描繪網際網路的力量。我想要融入其中,親手打造這些藝術的溝通方式。

 

從CSS到Javascript,再到Rails,再到Node.js

我在一開始我用一點CSS和JavaScript知識來做簡單的網站。很快我開始玩複雜的CSS動畫。到了第37天的時候,我開始研究<canvas>元素。第69天的時候,我做了我第一Rails網站,開放網站讓使用者可以互相交流。到第119天,我做了第一個後臺應用,雖然我承認這個東西我都不怎麼明白。在整個專案期間,我做過遊戲玩具工具。我涉獵了一些外部資料,使用InstagramTwitter這些公司的API,並用Node.js建立了實時動態通訊應用

 

我是怎麼做到的?

對我來說,最重要的一個準則就是「Start Small. Keep Building.| 從小做起,不斷完善」。當我設計好這個專案的時候,我就知道我要學習動態互動網站,但是我也知道我對寫程式碼一點都不懂。比起建立一個複雜、全功能社交網站所需要巨大工作量,我選擇先邁出一小步。我在第一天寫了一點html和CSS,建成專案的主頁

我Google了一整天,就為了查詢一點點標記語言。我本可以用書或者看教程,但是相反,整個專案從頭到尾我都只在類似StackOverflow, MDN,CSS Tricks這樣的網站或者部落格和例項上查詢我需要的東西。我還使用了一些很棒的線上指導,例如Rails Tutorial,幫助我一點點把複雜的網站從零實現。

完成小目標也給了我易解決的小問題,這些小問題又引出新的小目標和更小的問題。最終,當我完成很多的小問題後,我的對小問題的觀念改變了。例如在我第100天的時候,小問題已經不再是第一天的規模了。不積跬步,無以致千里,最終我完成了動態網站。

 

還有哪些必要因素?

保持嚴格的只有一天的最低期限,有助於保持快速的進度。每天都要作出什麼東西,這樣迫使我不要原地踏步去理解所有細節實現。作為新手很容易陷入這種困惑,對一個概念糾結很久,嘗試去理解。我發現學程式碼有點像拼圖遊戲。你可以拿著一小塊仔細研究,但是它不會告訴你它應該放在哪,也不會說整個圖片是什麼樣子的。你得找到一堆小圖片之後,拼到一起才能開始完成大的圖片。

 

哪些是不必要的?

在專案一開始,我給自己下了很大壓力,試圖做到完美。我過於關注每個細節是否正確,要是和我想象的不一樣,我就感覺徹底失敗了。結果就是我差點把自己逼瘋了。把我所有的作品放到顯示器上根本都不能看,但是我必須學著讓自己接受不完美。沒有什麼是完美的,特別是當你在學習的時候,但不完美不意味著失敗。在整個專案過程中,我發現我痴迷於加入所有特性,熬夜到凌晨三點,想把所有的功能都做好。我甚至會因為一些小功能而失眠。

 

接下來呢?

繼續寫程式碼!180天180個網站的結束,就是我程式設計師生活的開始。這個專案並沒有給我一個軟體開發的綜合理解,但是它給了我一個寬厚的基礎,可以繼續進步。我計劃研究一些兩天以上才能做完的複雜網站。做一些大的網站可以讓我在其過程中填補之前的遺漏。在我感覺查缺補漏差不多之後,我想參加一些小團隊,和那些充滿激情,同樣熱衷於發明新奇玩意的人們一同工作。在這期間我會繼續寫關於我學習進度的部落格,並在GitHub上公開我的程式碼。

 

伯樂線上補充

(穿紅裙的那位,就是本文主人公 Jennifer Dewalt。這是10月6日她和朋友在派對上)

(這是  Jennifer Dewalt  在 Github 個人主頁的“貢獻日曆”,從3月底開始,幾乎持續有貢獻。)

另外剛才也去看了 Jennifer 的推特,好多人在贊她的堅持,她(應該)都在一一回復。在她的一條回覆中,透露她想加入一個創業團隊的想法。

相關文章