套件到底有什麼好學習的?不過就是把想做的事情串起來、查查API、遇到困難的時候把code串起來就好了不是嗎?
上述所有的心態,讓我的HTML、CSS、jQuery停留在超級幼幼班的程度,真的要使用起來既廢時間、解決完問題又不真正的有學習;因此,痛定思痛把之前買的書拿起來看
學jQuery的過程,真的是將自己重新歸零,不帶任何期望,書上教什麼做什麼、寫什麼我唸什麼。念了大約1/3,突然感覺到,自己念的根本不是「程式」,也不是框架,而是「瀏覽器與程式之間的關係」,也想起了在樂天面試的時候,強者Fang大大說:
無論你要走前端還是後端,對瀏覽器還是要熟悉
我當時對這句話的認識,只是瀏覽器之間對於畫面處理的不同而已;但在認真的讀了jQuery的書之後,意識到,大大當時講的應該是「瀏覽器與程式(javascript)之前的關係」,每個事件、順序、怎麼影響畫面、怎麼做追蹤、對體驗的影響…。
與很帥氣&霸氣的說「jQuery就是套件,有遇到需要的需求,再Google、把code使用在自己的專案上就好」,誠實地說出自己讀jQuery其實很辛苦、很多東西不懂、程式能動只是透過hack and slash拼湊出來而已,來的帥氣。
回頭看這學程式的半年,我透過Ruby真正認識了物件導向、程式設計,但這項技能要找到「網頁設計」的工作遠遠不夠。透過Rails認識網路工程,是勉強能找到工作的門檻,現在要往新手工程師的最後一塊拼圖:掌握對瀏覽器的認識。
總結這半年的新的,我認為一個新手要成為一個基礎的網頁開發者必須:
- 學會任何一個程式語言(可以解最基礎的leetcode)
- 學會規劃靜態頁面(HTML、CSS)、熟悉bootstrap
- 會使用任合一個後端語言架構簡單的CRUD(含框架)與熟悉HTML form
- 將專案deploy到server(學習整體網路工程,意指從瀏覽器的request到response的整個過程)
- 熟悉jQuery(經歷過大視野的基礎http protocol,回歸到瀏覽器發request時的體驗與能力)
完成上述流程,或許就可以成為一個合格的「最entry level的網頁開發者」了吧!而如果要往一個稱職的後端or前端走,我想應該是:
後端:Linux、SQL、基礎演算法、後端語言設計概念 >> cache、進階演算法、框架的進階用法、深入的http protocol
前端:熟悉HTML、CSS、JS設計概念 >> JS框架
而我現在,剛走完1~4,正走在最基礎的5,5走完,現階段應該會往「前端工程師」的路線走吧!