還記得那位180天做180個網站自學程式設計的妹子嗎?
半年前,只有藝術背景的她,決定開始學coding。怎麼學?180天做180個網站(網站和網頁這裡就不區分了XD)。
幾個月前,她做到一百多天的時候,這件事情開始在網上火起來。有人潑冷水,更多的人點贊。他(她)們說,真是女漢子,我也要學coding!還記得嗎?
幾天前,她完成了第180天的任務。她寫了一篇總結blog。她說:
做完了180個網站,我準備下半輩子都當碼農
by Jennifer Dewalt
我在180天裡做了180個網站,藉此學會了程式設計,現在我好期待放個假啊!
過去的六個月,我無數次熬夜,在失敗邊緣焦慮。但是為了實現目標,一切都是值得的。
關於這些,詳細情況可以看看這篇部落格(長文慎入)。脫水版:我之前沒編過程,然後決定學程式設計。我沒有跟著課程或者培訓班學,而是選擇了直接硬著頭皮上,給自己定下三條規矩:
- 每天建一個新網站, 連續堅持180天!
- 每建一個網站,都必須寫一篇相應的部落格。
- 我寫的所有程式碼,都必須放在GitHub上(開源),大家都能看到。
(這是作者在此期間做的某網站的截圖。下面的截圖都如此,不再一一標註。)
背景
我是學美術的。美術之所以吸引我,是因為通過它,我能探索人們是如何相互溝通、相互影響的。過去,我探索人際交流的方式是雕塑和繪畫。不久,我便開始考慮技術。
技術,尤其是網際網路,開啟了各種各樣神奇的交流渠道,讓我們有機會傳播、吸收海量資訊。網際網路真的很神奇,通過計算機與人交流真的很cool,我都有些沉迷了。不過,並非每個人都像我一樣對網際網路充滿激情。那麼,我怎樣才能讓他們看到網際網路有多麼cool呢?我意識到,我怎麼畫畫,都畫不出網際網路的力量。我要真正參與其中,親手搭建網上的交流渠道。
學習之旅:CSS->Javascript->Rails->Node
最開始,我只用一點點CSS和JavaScript,做非常簡單的網站。很快,我開始折騰複雜的CSS動畫。到了第37天,為了學<canvas>
元素,我開始鑽研js。第69天,我做了第一個Rails網站,從此我踏入了全新的網站世界——人們可以在站上相互交流。第119天,我做了第一個backbone app,不過我得承認,我其實沒怎麼搞明白。在這個自學程式設計專案結束的時候,我已經做過遊戲、玩具類應用還有工具。藉助Instagram和Twitter之類公司提供的API,我用到了外部資料。利用Node.js,我也做出了實時動態交流的app。
我是怎麼做到的?
我有一條很重要的個人原則:從小做起,堅持到底(Start Small. Keep Building)。我開始實行這一專案的時候,心裡很清楚,自己想學的是編寫動態互動的網站,但是自己對程式設計基本上一無所知。所以,我沒有試圖一上來就搭建完整可用的複雜的社交網站,攻克一個又一個艱辛的任務,相反,我邁出了小小的第一步。我把一點兒html和CSS拼湊在一起,做出了第一天的網站,也就是這個專案的主頁。
那時候,為了一點點標記,我就要Google一整天。當然,我本可以跟著書本或者課程學習,但是我沒有。在完成整個專案的過程中,我在Stack Overflow、MDN、CSS Tricks、各種blog和demo網站上,找到了所需的一切。為了實現更復雜的想法,我還用到了一些非常棒的線上新手入門指南,比如Rails Tutorial就很贊。
目標很小,隨之而來的問題就很小,我都能想辦法解決,因此,我得以一步步走向新的小目標,應對更多可解決的小問題。等到我解決了足夠多的小問題之後,我眼裡“小問題”的概念就變了。舉個例子,第100天的“小問題”,比第1天的“小問題”,要複雜得多。我就是這樣一點一點地前進,最終學會搭建動態網站。
還有什麼經驗?
我嚴格要求每天都是deadline,這對於保持進步速度也很有效。每天都要做出東西來,這就不允許我在一個問題的原理細節上糾結太久。新手很容易困惑,長時間死磕一個概念。在我看來,學程式設計有點像玩巨幅拼圖,你當然可以拿起一小塊,非常仔細地觀察它,但是這並不怎麼能幫你瞭解它的位置以及整幅圖的樣子。你必須收集一堆拼圖塊,把它們拼在一起,這樣才能開始摸清全域性。
有什麼教訓?
專案剛開始的時候,我給自己很大的壓力,強迫自己追求完美。我太看重每個細節,如果沒達到預期效果,我就覺得非常失敗。我簡直要瘋掉了。把自己的所有作品都擺出來給大家看,這簡直太嚇人了。但是我必須學著允許自己不完美。世上本來沒有完美可言,何況我還處在學習階段。不完美並不代表失敗。在專案進行過程中,我時常一心想著把所有功能全塞進去,為了十全十美而熬到凌晨三點。我甚至會因為擔心無關緊要的小功能而失眠。
下一步呢?
繼續coding!180天做180個網站的專案結束了,這標誌著我下半輩子的碼農生涯正式開始了。當然,這個專案並沒有讓我全面充分地理解軟體開發,不過也算打下了大致的基礎。我打算做幾個更復雜的網站,一天之內做不完的那種,以便查漏補缺。等我覺得差不多了,我希望加入一個小團隊,找到和我一樣充滿激情、喜歡實現神奇想法的人一起工作。與此同時,我會繼續寫blog記錄我的學習歷程,繼續把程式碼都發在GitHub上。
相關文章
- 未來180天構建180個網站網站
- 180天製作180個網站的藝術專業女生:我學習程式設計的第一年網站程式設計
- 可以免費自學程式設計的12個網站程式設計網站
- Jennifer Dewalt:完成180個網站之後,我準備餘生就做程式設計師網站程式設計師
- 我做這個程式設計師還有意思嗎?程式設計師
- @程式設計師,你還記得當年高考時的樣子嗎?程式設計師
- 妹子幫個忙!嫁給程式設計師好嗎?程式設計師
- 還記得第一個看到的Flutter元件嗎?Flutter元件
- 修改oracle密碼預設180天過期Oracle密碼
- 自學程式設計難度大嗎?程式設計
- 做博士還是做一個專業的程式設計師?程式設計師
- 不知道這些網站還做什麼程式設計師呀!網站程式設計師
- 到了50歲你還願意做程式設計工作嗎?程式設計
- 一個前端妹子的悲歡程式設計之路前端程式設計
- 看完這個網站 你還幸福嗎?網站
- 半路轉行學程式設計還來得及嗎?半路轉行如何學程式設計?程式設計
- 硬核程式設計:30天=一個網站+一份週刊程式設計網站
- 都28了,半路轉行學程式設計還來得及嗎?程式設計
- 0基礎半路轉行學程式設計還來得及嗎?程式設計
- 【程式設計師面試金典】20180801程式設計師面試
- 轉行學程式設計還能成為技術大牛嗎?現在學習還來得及嗎?程式設計
- VS2005破解180天限制
- 哈哈:180萬程式設計師不知如何退出Vim編輯器...程式設計師
- 程式設計師是一個需要天賦的職業嗎?程式設計師
- 自學程式設計的 6 個致命誤區程式設計
- 自學程式設計的 6 個技巧總結程式設計
- 程式設計師做網頁設計常犯的8個錯誤程式設計師網頁
- 程式設計師必收藏的五個網站程式設計師網站
- 18 個鍛鍊程式設計技能的網站程式設計網站
- 做程式設計師快30天了程式設計師
- 做個程式設計師程式設計師
- 自學網站網站
- 移動開發者的自學寶典:十大線上程式設計學習網站移動開發程式設計學習網站
- 滬漂程式媛妹子的一天...
- 做網站,還是大有可為!網站
- 如何自學程式設計?程式設計
- Dependencies and Views (180)View
- 還記得程式設計師的我們面試時,背的Java葵花寶典麼?程式設計師面試Java