一轉眼我已經上完ALPHA camp第二學期的課程了,這段期間也覺得自己已經慢慢往前端工程師的方向前進了

$cover

前言

我現在的職位是網頁設計師,工作內容涵蓋了UI設計跟前端程式,我也對這些領域十分有興趣,但網頁設計的職涯發展會十分受限,所以我得在UI/UX設計跟前端工程師選一條路專精。

有一天公司的同事跟我說,他上過AC的課程後決定要辭職專心衝刺😳,所以我抱著好奇的心情開始試讀AC的課程…

從JQuery轉成JS

AC的課程希望我們用原生的JS撰寫,一來是比較能理解程式的運作過程及原理(畢竟JQuery省略很多步驟),二來是在學習新套件會比較快上手(套件多半還是用JS語法撰寫)。

因為我大部分都用JQuery寫程式,再學了JS才發現JQuery真的是懶人在用的,因為JS的寫法真的很繁瑣…(常常抓一個DOM抓老半天🥲),JQuery只要一行程式就解決了。

這時就要先從資料類型開始理解,才會理解為什麼會發生意外的錯誤。更多詳細介紹可以參考這篇文章:

用JS抓取元素(Javascript篇)

觀念的建立

一個好的前端工程師的會注重他的程式碼品質,不單單只是把功能做出來而已。

好的程式碼所要具備的條件:

  1. 有清楚的註解,能讓之後維護的工程師能快速了解程式架構or位置 (我曾經維護過沒有任何註解的程式,或是程式的排列順序跳來跳去的碼…)
  2. 不寫重複行為的程式,也就是符合DRY原則 (Do not Repeat Yourself)
  3. 擴充性高的程式。因為程式不太可能在一開始就確定全部的功能,擴充性高的程式不會因為新增一個功能就必須大改程式
  4. 可讀性高的程式,命名上能讓團隊的其他成員大概猜出用途。但是這需要團隊制定好命名慣例(naming convention),像是OOCSS(Object oriented CSS)、SMACSS (Scalable and Modular Architecture for CSS)、BEM (Block Element Modifier)

這也是AC很強調的點,如果沒有做好這些動作有可能就會產生技術債,成為大家口中很雷的工程師 😂

實戰面試題目

上了課最重要的還是…要拿到心儀公司的offer對吧 😏
因為面試通常沒有太多時間請你實做,所以面試都會考觀念題比較多(如果沒考試的公司那還是別去了,有很高的機率是雷),所以不能只是埋頭苦幹做作品,也要花點時間去了解程式運作的原理。AC也有題庫跟模擬面試的工作坊,測驗你是否有耐心的去了解觀念。但是也可以多找找題庫補足自己的缺漏,觀念確立後再進行進階的程式會事半功倍歐!

JS題庫

總結

上課的這兩個月裡,我的生活起了很多變化,經歷了辭職跟找到兩份工作。股神巴菲特說過:「最好的投資就是投資你自己。」所以我很滿意自己所做的決定,期待之後第三學期又有什麼新挑戰 🚀🚀🚀