1875 words
9 minutes
2021回顧-自己也算是脫離junior了吧?
2021-12-19
No Tags

Photo by olia danilevich on Pexels

在今年發生了許多意料之外的事情像是五月的疫情以及換工作,沒錯,過了一年我又要換工作了。

雖然今年過得十分曲折但又還算有趣,也開始覺得自己慢慢離開「junior」的範疇了。

以下就是今年的流水帳

今年在技術上的新嘗試#

今年花最多時間的應該是 Flutter 吧,起初是因為對寫 App 算有興趣剛好公司的 App 專案是使用 Flutter 就想說不然來試著寫寫看好了,然後剛好有研究出點心得就想說來參加個鐵人賽寫些文章看看,但後續因為這個 App 並不是主要產品所以大概也修了幾個 Bug 跟開發幾個小功能就沒再繼續開發了。

而下半年主要是在摸索一些前端的新技術,最近比較感興趣的是 Svelte,雖然第一眼看到有點黑科技的感覺,稍微寫了一些小 demo 覺得其實寫起來還蠻好玩的,而且 $: 及 action 這兩個概念真的還蠻厲害的。

而在工作上突然面對從沒出現過的需求:用 react 建構一個讓使用者拍照的服務,而在這之中也接觸到了 webRTC 以及一些前端檔案處理的功能。其實還蠻好玩的但是其中要分別處理 android 及 iOS 相關的權限處理就很折騰人了。

今年也是我第一次在線上產品中真正使用到 Redux,才感覺到之前自己自學 Redux 其實也沒什麼效果,頂多只是了解一些名詞跟 API 而已。真正開發起來還是有蠻多細節要處理的,再加上我們是在 Next 框架上有使用 Redux+LocalStorage 來進行資料 persist 的需求,整個開發過程其實相當混亂 XD

但不得不說 Redux Toolkit 真的是一個很香的工具,大幅簡化寫 reducer、action 的煩躁感,而且也內建了 thunk 並在 slice 的寫法中也高度的整合在一起了。

不只新技術的努力#

開發幾個程式後總會想要如何將程式寫得更好、更簡潔、更有架構。今年就開始在看了幾本有關軟體工程或者程式設計理論的書

  1. 無瑕的程式碼:整潔的軟體設計與架構篇
  2. 函數式程式設計極峰精粹
  3. 数学与泛型编程:高效编程的奥秘

但不意外的是沒有一本有看完,但至少讓我對於一些名詞及概念有些認識,希望自己能夠在 2022 看完這些書(?

鐵人賽#

今年 9 月參加了 it 邦幫忙的鐵人賽主題是 Flutter Web,在開賽之前雖然已經寫了 10 篇左右的文章量,本來還覺得應該不難吧,但比賽期間剛好有兩個連假其實還蠻硬的 xD。現在回想起來能夠每天寫一篇文章真的還蠻佩服我自己的。

但認真省思後會發現這次的文章其實沒什麼料,有些文章其實還蠻沒有內容的有種為了比賽而硬湊文章的感覺,如果明年還想參加可能要先規劃整體的脈絡再來撰寫會比較好。

這次鐵人賽帶給我最大的好處是更加了解 Dart,而且也因為要寫文章來解釋非同步及 event loop 的概念,讓我對於這些 JS 也有的概念更熟悉了。

以及無意間接觸了 MobX 這個發跡於 react 的狀態管理框架,雖然 Flutter 的主流是 BLoC(或者有人認為是 Provide 或 GetX),但在 Flutter 上的開發體驗意外的舒服,可是也因為沒有用它拿來撰寫實際產品所以對於大規模專案有沒有什麼缺點我就無法評論了。

帶新人#

扣掉在前公司帶實習生的經驗這次是應該是我第一次帶新人,而且因為這次的新人不是本科系的背景,在教學期間有些我沒想過的一些很基本的問題我都又重新再想了一遍。

在這過程中順便檢視了自己對於前端領域到底有多少的理解,我一直認為如果我辦法很簡單的說明一個概念或工具的話,就代表我還沒完全學會。

換工作#

我真的很感謝在 SOV 舒服美一起共事過的所有人,在這期間我除了學習到程式開發的知識以外更多的是態度以及思維,像是對於工作流程的優化、如何增進跨部門協作時的效率、如何拆解問題或者如何有效率的跟人討論。

即使沒有特別向我說這些概念或知識,但與你們共事就是有辦法從中獲得一些啟發。

而且與你們一起工作除了能夠學習到很多事情以外,大家把這個團隊的氣氛及文化建立的非常好,讓我能夠在這裡過得舒服又有許多成長的機會。

也非常喜歡大家樂於分享交流自己最近的所見所聞的風氣,不管是在軟體開法及設計甚至是商業思維上我們都能夠有所收穫。

能夠在職涯中遇見你們真的是非常非常非常幸運的事情。

至於為什麼要離職而且是在滿一年沒多久後離職呢?其實最大的原因是公司營運方針的更改導致工作內容和公司文化都變得不太一樣了。也不是說這樣的改變不好只是剛好跟我原本預期的內容有所出入而已。

2022?#

今年年底在面試時又再一次看清自己的不足之處。或許是因為剛開始工作一兩年總會想多學點技術,但對於已經在使用的技術沒有太深的認識。

這次面試最挫敗的應該會是對於 GraphQL 相關的問題,的確在這方面我可能只是一個會使用 call apollo useQuery useMutation 以及複製別人的 resolver 然後改一下要查詢的 collection 的工程師。

所以可能明年的目標就是好好的研究一下 GraphQL,以及繼續專研前端領域其他議題像是基礎建設以及狀態管理

前端基礎建設今年也算是百花齊放像是 esbuild、vite(這兩個都是打包工具)及 swc(Compiler)等等提升更多開發者體驗的工具,

狀態管理的話今年也聽到了幾個新興的 library 像是:jotai、recoil、swr 及 RTKQ(後兩者其實比較像非同步的資料管理)。感覺 swr 或者 RTKQ 是可以花比較多心力去研究的畢竟這個跟功能開發比較有關。

還有就是得玩一些酷東西,像是 Svelte、WASM(但卡在我永遠學不會的 Rust)等等

至於 Flutter,新工作目前沒有用到 Flutter 的產品所以這部分可能就會閒置好一陣子了,但整體而言我還是覺得它是一個值得關注或花點時間去學習及研究的框架。

2021回顧-自己也算是脫離junior了吧?
https://blog.toddliao.dev/posts/2021-12-20/
Author
Todd Liao
Published at
2021-12-19