不只是寫 code:Alpha Camp 學期 2–2 回顧

Kelly CHI
Nov 30, 2022

--

Photo by Towfiqu barbhuiya on Unsplash

不只是寫 code

儘管在學期一的時候就已經強調過運算思維、虛擬碼的重要性,但在實作的過程當中,我發現其實我習慣直接開工,等到遇到問題的時候再來解決。然而,當程式碼的規模擴大以後,這種蠻幹的作法其實會浪費很多時間,有初步的規劃和思考,也能避免將來不斷採坑。

在這學期的工作坊中,助教也從單純的教導程式碼的撰寫,變成分享背後的思維和脈絡,這些都是程式碼本身以外的事情,卻也是真實工作環境中,更重要的事。在事件流程工作坊中,助教提到,工程師的工作核心不是「寫程式」這件事,而是「解決問題」(解決PM提出的問題、設計師的問題、與其他工程師之間的問題 etc)。

工程師的工作核心不是「寫程式」這件事,而是「解決問題」。

從教案裡介紹的 MVC 架構模式和狀態管理概念、tic tac toe 工作坊中助教一步一步拆解問題可能的解方和演算法的設計、還有事件流程工作坊中對不同渲染模式的權衡和判斷,這些都超出了單純只是「寫出一個會動的程式」這麼簡單的要求。(儘管有時候對初學者來說,要寫出一個會動的程式就要經過很多很多 try and error)

總之,這些討論都讓我更深刻的體會到,要成為一個軟體工程師要會的事情,絕對「不只是寫 code」而已,還有很多細膩的眉眉角角,等待我們用漫長的時間去修練。

Photo by Brooke Cagle on Unsplash

不只是一個人寫 code

這學期參加了 AC 社群所開辦的「自學小組」,可說是到目前為止從社群中得到的最大收穫!我參加的自學小組內容以討論 2–2 每周作業為主,不過其他的學長姐也有開辦以「React」或「TypeScript」為主題的自學小組。

由於每周都要進行作業的分享,我將原本較雜亂的作業筆記整理成較易讀的模式,並在程式碼中加上額外的註解,讓夥伴在閱讀筆記時,可以更容易理解程式碼的思路。此外,我也在讀書會的過程當中,練習用我較不擅長的口說方式 (跟文字的能力相比相去甚遠…)去講解我的程式碼,雖然講到後來常常自己也不知道在講什麼了,但至少知道即時的講解和用筆記去講解是完全不同的兩回事。

自學小組除了是一個幫大家解決大家遇到的難題的互助會之外,也是互相支持與鼓勵的空間。我們會在小組中分享最近在玩的遊戲、分享最近學習上的焦慮和反思,還有為彼此加油打氣。這幾周的讀書會經驗讓我體會到分享和共學的意義,而在軟體開發社群當中,這樣的精神也是被大量實踐和推崇的。

要補充一點,除了自學小組之外,助教們的存在也是讓學習不孤單的原因之一。當我們提出各式各樣的奇怪問題,助教都可以一一接下,還在提供解答之外引領我們做更深入的學習和思考。有時候去閱覽其他同學和助教的討論也會無意間撿到寶!

這幾周的讀書會經驗讓我體會到分享和共學的意義,而在軟體開發社群當中,這樣的精神也是被大量實踐和推崇的。

能力的落差?時間的落差?

在一次的讀書會討論中,旁聽的同學問了我一個問題:「為什麼在大家都是學同樣的課程的狀況下,妳的作業可以達到較高的水平?而這樣的落差是怎麼出現的?」對此,我感到受寵若驚,因為這表示同學對我的作業有著很高的肯定,但同時,我也回應說,這只是因為我相較其他人來說可能時間較多,也常常花時間看 youtube、做額外的練習。一切都是累積來的。

跟我同期的同學們,很多都是一邊工作一邊學習,相較於我一周至少五天每天有差不多8小時可以去完成所有課程內容,並在完成之後做大量的課外探索,其他同學可能連看完當周的教案都蠻趕的,更別說在下班後常常精神和體力都已經消磨殆盡,哪有力氣再做額外的事。(深深的佩服在職學習的同學們啊!你們真的很棒!)

或許在結果上,我的作業看起來比其他同學完整很多,但我相信,若是給大家同樣的資源和時間,一定可以做得比我更好。我不想要其他人因為我的作業得到了 exceed expectation 就覺得我比較厲害或有天分,在內心的深處,我深知自己還有太多不足的部分。

要記得,大家來上課的初衷都是差不多的,我們都希望可以達到理想的終點,而不是比誰走得最快、誰得到最多肯定。我能做的方式之一,就是透過在自學小組中的分享 (還有多寫部落格),把我在額外探索中所找到的資源讓更多人知道。

大家來上課的初衷都是差不多的,我們都希望可以達到理想的終點,而不是比誰走得最快、誰得到最多肯定。

Photo by David Marcu on Unsplash

總之,還有很長的路啊

學習程式是一場漫長、甚至是一輩子的修練,課程再幾個月也就結束了,可是學習不會有結束的那一天。等到完課要進入求職階段,可能會遇到極大的挑戰 (不只是技術上的),但我希望我在每個當下能把該做的事情做到最好。(現在先別焦慮那些,搞懂JS就夠讓人焦慮了,哈哈)

以下列舉幾個接下來想要做的事:

  • 這學期的自學小組的體驗非常好,大家都很認真,也很溫暖,覺得學習路上不孤單,也從同學的提問的採坑經歷中,學習到自己本來沒注意到的部分。此外,自己的分享有幫助到其他人的時候,也很有成就感。希望下個學期也能繼續參加!
  • 接下來會進到前端專修繼續學習,期望自己的切版能力能夠更上一層樓,同時也會繼續深究 JS 的核心,因為感受到自己對JS的一些核心概念還不夠理解,或許可以透過寫概念學習筆記來加深印象。
  • JS30 還沒完課…希望能在2–3開始之前至少完成 2/3 的內容。
  • 製作小型的side project 練習 MVC 架構,例如 tic tac toe、todolist、Pomodoro 小工具 etc

同在轉職路上的夥伴們,繼續加油吧!(也歡迎加入自學小組 :)

--

--

Kelly CHI

法文系畢業的前端工程師,致力於打造具有美感和良好用戶體驗的介面,同時也是個愛看冷門電影的骨灰級影迷。