語言選定後,就是要開始找相關資源study了。
不只是語言社群、論壇的支援,課程助教、工作人員、場地、公司贊助、免費廣告投放等,也都是要去詢問的。
剛開始可能只是一人搞定。別認為只是孤軍奮戰,如果你認為你努力的路上是孤獨,那你終究會是孤獨的。
但若你想的是,很多人一定會來幫忙,那這就是不一個人的事情,而是對很多人有幫助的事情。
努力的路上忍受孤獨是必要的,沒有熬過這段的,不能說你熱愛它。
人生本來就沒有什麼意義,寫code也沒有什麼意義,但你自己要想辦法找到那個意義。
為什麼要爬山,因為山在那 - 喬治‧馬洛里
這幾年爬山少了,卻也開始懷念山裡的味道,或許山神真的再召換我,所以才有今天。
爬山的過程是孤獨的,本身除了流汗運動外,其實也沒啥意義。但有趣的就是在這個地方,當你爬到山頂的時候,意義其實是你自己給予的,即使沒有人跟你共享。
寫程式本身也是如此。
有些做設計的人把設計當作一個工作,那它就是一個工作;如果你把設計的層級拉高,自己給予自己的設計賦予意義,那它就是一種藝術。寫程式本身其實是一種藝術創作。而藝術創作本身應該是有趣的。
以去年讀書會為例,我試著以一種藝術創作的心情來面對程式設計,講述React語言設計的核心概念,但效果不彰。對於junior光教導React的主要用途與進階技能,無法讓他們真正記住,因而很多人沒能堅持到最後。只能說聲抱歉,真正的junior的確並不適合我的教學方式。
於是今年不是改變我的教學方式,而是改變我的受眾,此課程以找中高階的程式人員為主。
但我們不是真的要在一個月多的時間搞出一個大型購物平台,那是會搞出人命的。而是要在這一個月掌握大型購物車的真正心法,然後從小東西,如麻雀般,雖小但五臟俱全,來完成一個專案。所以前端原本想選擇好上手的Vue,但React本團隊較熟悉,怕前端不盡完美,最後還是選擇React,而後端選擇易上手的Python。
資料庫選擇簡單的sqlite或者使用NoSQL的Redis即可。
前端React/NextJS部屬至ZEIT,後端Python部屬至Heroko,皆為免費空間。
一開始別想得太多,不需要花費巨資購買機器,或者付費AWS/Azure等企業級服務,若真的以後side project做大,在過程中持續改善即可。
這也是爬山的過程,從郊山、小山丘、稜線、丘陵、山壁、再來2000公尺以上的高山、最後挑戰百岳。
在每一次的爬山都會比上一次在難一點,可能會遇到一些小問題,讓你下一次去改進,從中產生鉅大的成就感。寫程式也該如此。很多人只想找老師等答案,沒有爬文的經驗,覺得爬文浪費時間,錯了。
爬文的過程本身就是一種學習,找到答案本身並不能讓你學到什麼,而是爬文的過程才是真正讓你學到的地方。
像stackoverflow就要常逛,潛水也好,去試著長時間埋首在裏頭,找bug解決的方法。
如此,你還需要山頂有人在那邊等你嗎? 這一切你得到的都已在過程中了!