AlphaCamp 學期 2–2 總回顧

真的開始有「喔~我在成為全端/軟體工程師的路上的實感了!」

Hazel
Apr 4, 2021
Photo by Fabio Comparelli on Unsplash

如果決心轉職的話,這段從零到足夠可以有一份工作的程式能力學習旅程根本不會拉這麼長。但沒辦法,總要試過才知道到底喜歡想要還是不喜歡不想要。

我是2020/7 AC 學期2-1的學生,但是我沒有寫2-1的心得回顧,因為當時沒有成功完課,2-1的驗收題組到現在都還沒有交。學期2–1的確比學期1難了一個程度,但對我來說也不至於到會有甚麼很大的挫折,我那時就很清楚我是因為沒有足夠的時間才跟不上沒學完,也是開始跟不上的時候意識到我沒辦法一邊全職上班一邊上AC的課程。

Why?

喜歡的事情做到一半要被強制中斷實在很不舒服。而且被中斷再回去做,需要花額外的時間再接上上次進度(啊!就已經時間不夠了說

這裡喜歡的事情就是在說,AC各種需要耗時耗腦的作業。我知道我一旦投入大概工作很有可能開天窗...嘛~就是不想上班,所以我2–1後面一些要花些時間完成的作業就果斷先不寫了!當然也有知道自己一些基礎不夠紮實,寫作業一定要花更多時間複習找資料等等的預期心理。

開始 2-2 ?

就這樣過了半年,終於果斷地把該交接的交接完,準備好全職在AC學習。不過開始2–2前,其實還是各種擔心呢?!(需不需要延後開課什麼的)畢竟2–1沒有好好完成,也有卡住的感覺,加上沒經驗的事,總是個不好預判的未知。總之,只能相信自己的判斷了「不會是因為投入的時間不夠」,現在有足夠的時間了一定沒問題!而結果也如同自己判斷般,2–2整體學習過程都還算順利,太好了!

現在就用ORID的方式來回顧學期2-2的學習!

ORID, picture from https://j108in.knsh.com.tw/article01.asp?ID=37

OBJECTIVE

做了什麼?用「現在的我」與「 1 個月前的我」比較,感覺哪些部分進步了?

4週陸續學習了許多新的東西,也穿插複習許多學過的。

  • 串接第三方資料(API & Ajax)
  • 完成簡單的歌詞本及todo list
我的 todo list 作品
  • 比起2-1, 更加熟悉html標籤結構和操作DOM
  • 實作了社群名單跟電影清單,更加熟悉如何套用Bootstrap, icon, font-family
  • 實作了圈叉和翻牌遊戲(如下),了解MVC架構及更清楚如何封裝函式
  • CSS排版有更加熟悉些,嘗試了許多沒用過的CSS語法
  • JavaScript的運作
  • 分析要做的網頁或遊戲,架構建造的步驟流程

期間經歷許多次debug,對於如何找bug更有經驗,並更能善用開發者工具和console.log協助自己debug。學而知不足,每週投入學習的時間越來越多,不是在複習舊的就是在學習新的,正處於越學越起勁的階段。

Time tracking results(預習週及第1週)
Time tracking results(第2週及第3週)

REFLECTIVE

怎麼累積這些進步的?有什麼樣的過程?這些過程帶給我的感覺?

  • 前2週一直被助教提醒區別const, let的差異,到第二週ORID時,終於能比較清楚且有意識的在coding時去注意,沒想到自己會一直犯這種錯,不被重視的地方就會被輕忽,所以之後都會特別重視基礎定義的學習。
  • Debug的部分:持續累積了不少經驗,變數函式名稱拼錯這些有輔助軟體協助的話,能很快找到。比較麻煩的是不會影響到程式執行的bug(不會產生 error code),就是要找出是執行到哪一步時出問題,可以用console.log一層一層去看印出的順序,藉此找出是哪一段code有bug,在進一步看程式碼邏輯有無缺失。2–2剛好是開始接觸同步非同步的時候,驗收題組讓學生去查什麼是event-loop, how JavaScript works? 這部分的知識時,真的讓我有很震驚的「啊!原來如此」,有些這幾週一直犯的錯都是基於不了解程式執行的步驟規則造成的(這裡看How JS Works學習筆記),而現在終於懂了!感覺又被基礎概念很重要打了一下XD => 每次成功debug都很有成就感,有種mission completed!!! 的達成感
  • 寫作業總是有卡住的時候,要好好善用腦袋學習的機制,在專注發散切換,休息才能走更長遠的路。來自week 3的ORID,然後有靈光一現的Idea時馬上記錄下來,每天進度是什麼,有什麼需要加強的也都可以記錄下來,哪天突然很閒沒事做,就知道還有什麼事可以做了! =>雖然沒有不痛苦的學習,但我也要開心,所以該休息時就休息,才更有機會享受到靈光一現時的 OH! Yeah!
  • 改我電影清單加碼作業的助教好嚴格啊,明明其他同學也做差不多,怎麼評價卻比較高 => 可惡,就優化給你看,有什麼要求都來

INTERPRETIVE

從這些過程中,有什麼重要的領悟/行為/心態是可以幫助達成「持續學習,持續進步」?

有一起學習的夥伴會有監督的效果,甚至會產生良性競爭意識,所以盡量主動參與社群/交流意見能幫助自己想上線學習完成作業。這次AC幫忙建了一個Slack社群,小精靈會發布有幾個人已經交作業了,所以會知道其他同學們的大致進度,以我來講知道有人已經完成,就會也想加油完成。

不要只是想,要有行動才有後續的可能。不確定就實作看看吧!相信自己學得會,認識自己,善用運算思維分析問題,了解問題產生的原因,在針對它解決。

真正的會,應該是能解釋,教根本不會的人也能聽懂。嘗試用自己的話,整理各種知識是重要的,能練習輸出已知的知識,讓這些知識技術更加根深蒂固。如果整理不出來,大概別人問的時候,也會解釋得不清不楚。

DECISIONAL

總結 2-2及進入下個學習階段的目標

覺得這一個月過得很充實,雖然也知道自己很多部分的基礎概念都不是很熟,但也知道該怎麼補足,相信持續學習會繼續更進步。很想連學期3都直接刷下去啦~

對於進入2-3非常期待,因為終於要來與後端接觸了!過去做的所有網頁作品,基本上重新整理後就整個刷新了,而後端資料庫可以解決這個問題,讓網頁作品更加完整,而我本身也是對後端比較有興趣,所以現在可說是躍躍欲試!

而對於自己的期待則是能多練習整理輸出文章,相信在組織文章時,複習知識技術的過程能更幫助自己學習,甚至幫助別人!

Go Forward to next stage!

--

--

Hazel

Web & Software Developer 🇹🇼 Taiwanese Explorer @MyLifeAdventure ICS Student @CamosunCollege