你怎麼規劃自己的 learning map?
以你是以 full stack 為你的發展方向,但一定有很多時候是會做到某個階段完成,需要轉換到新的目標上?那這樣要怎麼規劃自己學習新的技術甚至優先序?
今天被朋友問起這個問題。好問題欸,一直有在無意識的做這件事,但沒有認真思考自己是怎麼做的。我還真的有列出一堆東西是有空想學的,把它放進一個 Queue。
我自己原本是專注在 Web development(現在也是),但累積夠多經驗(實習經驗/Project經驗),然後透過看文章、跟同行的聊天,吸收夠多知識後,就會開始看到自己需要學習 or 回頭補基礎的地方。 歸納一下進入我的 Queue 的 items 大概分成幾種:
透過找工作,看了一下 JD 發現自己好像要懂一點的
即使沒有到很想學,沒學起來應該還是找得到工作,但還是覺得有空的時候要補起來的。像是我 SQL 就很爛 lol,Backend languages 也只會 Python, Node.js,跟現在業界主流好像有點脫軌,所以有空想學一下 Golang。
覺得晉身到下個 level 要會的(主要大概來自這點)
例如之前幫忙開發課程網的時候,就發現大家在討論系統架構(system design)的時候,我好像有點聽不懂然後跟不太上,雖然我是被找去做好前端的,那邊有人會負責,但我還是蠻有興趣想了解的,覺得那應該是未來要變成資深工程師的必備技能,於是就把這項技能先記下來了。
Write test 也是之前我看到一篇文章,大概是講 something like「寫出能用的東西很多人都會,但很少人會注意到寫測試這種提升整個團隊效率的事情」,他的結論就是這是一項能夠 differentiate 你是 junior 工程師還是 senior 工程師的事情。
有興趣的 就學一些好奇的東西 XD,像前陣子對智能合約有點興趣,就把學 Smart contract 加進我的 queue 了。
我自己覺得我有點像「FOMO-driven Learning」,有時候就只是知識焦慮,看到很多厲害的人都會,自己還不會有點弱,所以才想認真學起來。
像前陣子 Rust 在 Web dev 圈討論度很高,我就有試著想學,不過太忙惹,然後熱情不夠,最後暫時失敗。
這也是我今年想改變的事情,學會辨別哪些是 FOMO,哪些是真心有興趣的事,通常因為 FOMO 的東西學完,不拿去實際應用在 project,過一陣子還是會忘記。
至於怎麼排優先順序,好像沒什麼特別的,大致上就是簡單的先排,以防一下子跳到太難的自己放棄,再來是之後工作 or Project 需要的技能先排,單純有興趣的技能可能會先排在後面。
最後,沒有一個東西有學完的時候,我自己會在每項開始之前先訂一個 Goal,例如大概學會基本操作然後運用在自己專案內之類的,不要想全部學完,不然後面的東西都不用學了 XD。
大概就是我目前的 state 啦,目前的方向還是想以 Web dev 為專精發展,但跟以前不同的是想慢慢涉略一些其他領域(like System Design, Blockchain),希望今年能好好抽出課業外的時間執行計畫。