【程式學習】Alpha Camp C1 完課心得

2023/10/16閱讀時間約 6 分鐘
我還只是個小嫩咖而已 👼

我還只是個小嫩咖而已 👼

為什麼想要學寫程式

大學畢業後,我先到某間小出版社擔任英文與法文的翻譯,準備兵單下來登入國軍 online。結束了四個月的兵役之後,習得了放空與割草的技能 (誤),但是對於職涯規劃完全沒有丁點想法。

我大學就讀法文系,周遭有不少同學陸續至法國、英國研讀碩士學位,其中又以商學院為主,但想到自己身上還背負著大學學貸,我決定先留在台灣工作一陣子再看看,結果誤打誤撞進入了一間 Google 經銷商,廣義來說也算軟體產業吧。

由於我是純文科畢業,起初完全不懂 DNS、IMAP/POP3、API 這些陌生概念,和客戶對談也時常因為專業知識不足而備感失落,不過秉持著我就爛、也許明天就會被開除的精神, 我上網慢慢補充了這些知識,意外地開始進入狀況,甚至後來還能協助其他同事。總結來說,我在這間公司得到了以下收穫:

  • 查閱官方文件的能力與耐心:Google 許多產品/服務都有詳盡的說明文件,每當客戶遇到問題時,我們都需要先以官方文件為查詢起點。文件中若有陌生的技術協定或概念,我也養成了先自行上網研究,真的無法消化才冒昧請教技術團隊的習慣。我也是在這時候認識了 Stack Overflow。
  • 與客戶確認需求、問題的能力:無論是支援性質的服務,或是客製化的開發服務,都必須透過提問的方式了解客戶 (包含老闆) 究竟想要什麼。不敢說我已經是這方面的專家了,但的確從這份工作進步了不少。
  • 撰寫說明文件的能力:公司在 AI 蔚為風潮之後,推出了 Google Workspace 與 ChatGPT 的整合服務,上架到 Google Workspace Marketplace 上面,而我則被委派了說明影片、Help Center,以及 marketplace overview 的上架任務。
Google Workspace Marketplace 的說明頁面,有了生成式 AI 協助,就算是英文內容也能快速產出 ❤️

Google Workspace Marketplace 的說明頁面,有了生成式 AI 協助,就算是英文內容也能快速產出 ❤️

除了以上幾點之外,由於平時需要和技術團隊協作,開啟了我對於軟體開發的眼界。雖然公司的技術團隊規模不大,但每位工程師都非常熱心助人,我也被他們創造性的工作方式深深吸引。剛好公司有購入 Google AppScript 的書籍,於是我憑藉著「就當作多學一個語言吧」的心態,人生首次打開 IDE。

嘗試學習寫程式

Google AppScript 是 Google 基於 JavaScript 所開發出來的程式語言,能讓我們客製化做出 Google Workspace 服務的自動化小工具。跟著課本實作下來,我簡單做出了用 Google 試算表大量寄信等等的自動化模組,中間也因為好奇背後的運作方式,上網零碎地學習了一些 JavaScript 的語法。

也是在這時候朋友推薦了 Alpha Camp 的課程,我試用之後覺得非常有趣,就跟了幾階段的付費課程,可惜後續因為工作份量越來越重,程式學習的進度就此中斷,不過薪資因為努力工作提升不少,所以也不算全盤皆輸啦 😅

直到近期在這間的工作告一段落了,正好手上也有想要產出的 side project,我才重新燃起程式學系的念頭。距離上回寫程式也快兩年了, 加上先前的學習體驗非常不錯,我決定再度跳上 Alpha Camp 的學習列車。

目前仍不確定自己是否能非本科轉職成軟體工程師,但至少能確定我對於寫程式不反感,也滿喜歡軟體產業的工作方式,就算最後沒有轉職成功,這些學得的開發能力,相信對我日後的職涯也會有所幫助。剛好趁著待業這段時間邊休息邊重新當個學生,想想也是滿開心的~

Alpha Camp C1 課程內容

C1 先帶大家認識了程式語言、虛擬碼、運算思維等等一般人比較陌生的概念,然後就從基本的變數、運算子、條件式等等切入 JavaScript 的語法學習,不過這階段僅單純是把結果列印在 console 上面而已。

十回合內猜對數字,被第 23 行的猜測範圍最小值耽擱了一段時間 🫠

十回合內猜對數字,被第 23 行的猜測範圍最小值耽擱了一段時間 🫠

接下來的課程將重心轉移至 HTML、CSS 的基本知識、切版實作等等所見及所得的世界。由於我前一份工作也有 WordPress 網站共同編輯的經驗,所以學起來沒有太過吃力。順帶一提,前份工作中的網站是用 Bulma 這套 CSS 框架,當時只知道它能讓網站變漂亮,直到 Alpha Camp 教授 Bootstrap 之後,我才終於領會 Bulma 到底在幹嘛 😓

上份工作的網站使用 Bulma,不過 AC 教的是 Bootstrap~

上份工作的網站使用 Bulma,不過 AC 教的是 Bootstrap~

除了上述的硬技術之外,Alpha Camp 也在課程中穿插了自學的心態培養、如何查找技術文件、產品設計等主題,這部分我非常喜歡,有時候也忍不住應對到先前的工作經驗,冒出原來是這樣啊的感覺。舉例來說,當 AC 介紹 wireframe 時我才恍然大悟,原來之前用小畫家把網站更新圖呈現給工程師是多麼「可愛」的事情,真的是術業有專攻。

印象最深刻的作業

C1 有個作業是做出鋼鐵人的名片,主要驗收基本的 wireframe 以及切版。這個作業除了基礎規格之後還開放大家附加額外功能,於是我給了自己兩個任務:

  • 滑鼠移動到鋼鐵人照片時要有文字浮出特效
  • 加入社群媒體的按鈕,並在滑鼠移上去時出現文字橫條
滑鼠移動到鋼鐵人照片後會冒出淺黑遮罩以及文字浮現

滑鼠移動到鋼鐵人照片後會冒出淺黑遮罩以及文字浮現

滑鼠移動到社群按鈕上面後,會出現文字橫條和 icon 效果

滑鼠移動到社群按鈕上面後,會出現文字橫條和 icon 效果

這兩個額外功能都需要用到 position 以及 z-index 的概念,但寫作業當下 Alpha Camp 尚未提及,所以我直接透過關鍵字上網查詢,找到差不多的案例就把程式碼直接複製貼上,結果當然是慘不忍睹囉。

後續我定下心去看複製過來的程式碼,發現裡面有許多 Alpha Camp 沒教過的屬性,原先本想放棄,但當時剛好是國慶連假,想著孫中山革命十一次才成功的精神 (幹話),我將那些陌生的屬性名稱輸入到 MDN 裡面耐心學習。經過好幾小時的 Google 以及修改之後,竟然真的把預期的效果呈現出來了 🥹

時常耳聞他人說寫程式就是將網路上別人的程式碼複製貼上,經過這次經驗,我才深刻體會到若欠缺基本知識,複製過來的程式碼也是坨糨糊罷了。前人們的善意與誠品固然能夠傳承,但前提是我們要先將自己培養至足以接收的程度才行~

若欠缺基本知識,複製過來的程式碼也只不過是坨糨糊罷了......

若欠缺基本知識,複製過來的程式碼也只不過是坨糨糊罷了......

結論

C1 的課程整體來說滿輕鬆愉快的,但是看其他同學的經驗分享,C2 似乎就是痛苦的開端了。後續不強求自己能成為萬中選一的頂尖高手或練武奇才,只期許能保持苦中作樂的精神就好。

最近學到一句泰文好實用:ผมไม่อยากทำงานตลอดชีวิต (我不想工作一輩子)


16會員
34內容數
Bonjour à tous,我本身是法文系畢業,這邊會刊登純文組學習網頁開發的筆記。如果能鼓勵更多文組夥伴一起學習,那就太開心了~
留言0
查看全部
發表第一個留言支持創作者!