前言
各位安安,我是 Heidi,從年前就一直思考,應該如何總結這一年來的學習心得,結果又拖到現在,不知不覺都已經入職快兩個月了XD
這篇是記錄我在 Lidemy 學習半年的結業心得,也會稍微帶到多人協作和求職總結,文章大綱如下:
- 背景與動機
- 為什麼選這個計畫?
- 為期半年的課程
- 挑戰多人協作
- 求職之旅
- 結語
背景與動機
亂點技能樹…卻又好像環環相扣的人森。
生農學院畢業,但其實是黑手指,路邊花草樹木一問三不知;在大學時期選修日文,透過這門語言開啟新世界的大門。畢業後前往日本打工度假一年,之後曾在一間日商公司擔任窗口,發現自己內心深處還是想嘗試在日本工作,即使我不知道自己究竟想要什麼,仍對自己的未來感到徬徨不安。
直到後來,偶然參加一場選考會,很順利地拿到一家餐飲集團的 offer,也預計在去年年初赴日工作,一切看似順利,卻這麼碰巧遇上疫情爆發。經過反覆掙扎,終於在鎖國前一週決定放棄簽證資格,又以此為契機,讓我重新思考未來方向。
然後,就沒有然後了,可以說是與程式語言毫無關係的學經歷。
或許也因為經歷如此平凡,對自己一直很沒有自信吧。好像有點會讀書,直到大學時才發現自己是死讀書,一路走來,總是被沉重的學歷枷鎖壓得喘不過氣,只想跳出無限循環懷疑自我的迴圈。
在這段迷惘的歲月,不斷與自我對話,果然還是該考公職嗎?還是準備研究所?曾經的留學夢呢?我到底,要的是什麼?這個問題的盡頭,終究只能靠自己去摸索找出答案。想轉換未來的跑道,跳脫自我厭惡的循環,那就必須嘗試「學習新技能」,這是當初浮現在腦海中的一條路。
而在去年三四月時,想起之前為了架設有關旅行遊記的部落格,在 Hahow 購入有關動畫互動設計課程(發現不少同學都看過這堂),在學習過程中,發現自己渴望更深入探索前端領域(其實是因為中間卡關,轉而尋找更多資源),於是又陸續透過六角學院、YouTube、Udemy 等平台,開啟自學網頁程式這條路。
為什麼選這個計畫?
在自學過程中,瞭解到自己是需要透過「目標與成就感」產生「動力」的人。在這片浩瀚的前端海洋,縱使有著取之不盡的資源,我卻不曉得此刻的自己需要什麼、應該要做些什麼,心底總會感到不踏實。我想成為一名前端工程師,但究竟自己是否真的喜歡前端?還是只是因為我還沒接觸到更多?
直到我在 Medium 平台,閱讀 Huli 寫的《零基礎的小明要如何成為前端工程師?》時,無意間發現《程式導師實驗計劃第四期》正開放報名。看過 Lidemy 官網的課程大綱之後,瞭解到這是為期半年的前後端線上課程,課綱涵蓋程式基礎到專案開發,也能夠藉由這個機會接觸到後端,是我決定選擇 Lidemy 的原因之一。
或許,我能夠在這裡尋找想要的答案。我想要透過這個計畫,去瞭解自己究竟適不適合走這條路,跟著 Mentor 指引的腳步,把不足的部分逐一補足,讓自己更確實朝向目標邁進。
然後,還有另一個原因,是在看到 Huli 本名時,總覺得這名字有點眼熟,谷歌了一下發現以前竟然有同校 N 年過(還跑去翻了畢冊),默默把這段緣分收在心裡,等我未來轉職成功就來認親吧!擅自訂下了奇怪的目標XD
總之,不管過去成長背景如何,想要走上轉職這條路,我想最重要的還是「動機」吧。是什麼原因想要轉職?其實理由因人而異,但這個「理由」必須能夠驅動自己往前邁進,必須能夠先說服自己,未來在學習途中,在準備履歷作品的過程,在求職面試的時候,才不至於顯得動搖,這也就是心態建立的重要性。
之所以會想強調這點,是因為自己在求職階段,或者即使正式確定 offer 以後,被問到「為什麼想轉職?」這問題時,還是不免感到自我懷疑,我真的有能力轉職成前端工程師嗎?但後來我漸漸明白了,這或許就是所謂的冒名頂替症候群也說不定。不管進入哪個階段,始終會感到害怕,怕自己只不過是運氣好,怕自己其實沒有足夠的能力。所以呢?這時心態建立就非常重要,知識能力可以一點一點慢慢累積,可是心態一旦崩潰,就必須花費更多時間才能重新振作起來。
為期半年的課程
關於課程內容,其實課程大綱都寫得蠻清楚,所以這邊就不贅述,舉幾點個人認為比較需要注意的地方:
## 心態建立的重要性
- Lidemy 課程第零週就是心態培養,即使在學習過程中感到迷惘時,也會再回頭讀這幾篇文章。
## 作筆記的重要性
- 我習慣使用 HackMD 寫筆記,優點是使用方便、能夠同步到 GitHub 備份;缺點是不易進行管理、刪除後沒有垃圾筒還原(有次誤刪了只好寄信請後台幫忙還原)。
- 另外也很推薦 Notion,功能非常強大,能夠客製化、有系統性的整理每篇內容。
- 集結起來放到部落格,就是一個能展現自己的作品,也能幫助自己快速複習重點。如果從頭來過,我還是會寫筆記,但要注意不要花太多時間整理,進度落後反而本末倒置。
## 跟上課程進度的重要性 >>> 完全理解內容
- 約在第八週的串接 API、第九週的後端基礎、第十七週的 Express 時,進度慢慢落後了,或許是因為接觸全新的知識,又想要「完全理解」,其實不必執著一開始就聽懂,有時候藉由實作過程來理解,也是很棒的學習方式。
- 卡關時就跳吧!找到適合自己學習的步調很重要,但跟上課程進度也同樣重要,一旦落後了就很難再跟上,因為知識只會越來越複雜,有些東西以後你就會懂了(是真的)。
## 找到能讓你與眾不同的地方
- 雖然大多數人光是想要跟上課程進度就很吃力了,我自己也沒能達成,但我想這點還是非常重要,畢竟面試官在收到同樣課程出身的履歷時,會傾向選擇哪種類型的人才?過往經歷也好,對程式的熱情也好,該思考如何讓自己變得更突出。
- 因此除了課程內容,能夠再結合自己的興趣、專長去實作一個 Side Project 是更好不過的選擇,就算沒有時間準備,至少要把課程作業的完整度提高,學會使用某種語言刻出 Todo List 和 Blog 以後,其實基本技術能力也差不多具備了。
- 試著將作品的圖形、資料作出變化,有設計能力,就把畫面刻得更精緻;對後端感興趣,就更深入去瞭解 MySQL 語法、結合資料庫和伺服器,面試時更能夠拿出來展示發揮。
## 社群的影響力與重要性
- 「一個人可以走得快,但一群人可以走得遠。」把握社群的力量,以前的我其實不太敢發問,到了課程後期,才漸漸地鼓起勇氣找人解惑,真的太慢頓悟,浪費不少時間在自己撞牆摸索。
- 善用谷哥大神的搜尋力量,像是 Stackoverflow 這類的技術論壇,類似的問題別人說不定也曾發生過,也因此技術方面的問題,通常建議使用英文作為關鍵字,才能找到更多搜尋結果,畢竟 debug 時跳出的錯誤訊息也都是英文XD 有時找不到解答,往往是下錯關鍵字的緣故。
- 當卡關太久就是該尋求幫助的時候了,不管是老師、助教還是同學,都是能夠尋求幫助的對象。
## 學習系統的重要性
- 不知不覺進度報告也累積了二十多萬字,我很喜歡像這樣把學習過程視覺化,能夠知道自己堅持了幾天,進度到哪週,累積多少學習心得,也能不時回顧自己當初記錄的種種,但也要注意不要花太多時間在這上面。
- 除了進度報告,學習系統也是繳交作業的平台,在這裡能參考同學們的心得和作業,因為總會有跑在前頭的強者同學,無形中也成為一股推進力。如果當週作業想不出解法,也能藉由範例來學習。有時把問題寫下來,會有熱心的同學來為自己解惑XD
- \許願希望未來的學習系統/:課程進度能支援跳關、能夠以滾輪方式顯示過往動態、能夠有書籤功能來收藏喜歡的心得。
挑戰多人協作
很喜歡這期新增的 [PD101] 淺談產品開發與工作流程 課程,能補充工作流程與產品開發相關知識,讓未曾進入這個業界的我們,增加對未來工作環境的想像。
到了課程中後期(十一月左右),差不多要來準備多人專案,在 Slack 頻道上剛好看到有同學在徵人,當下想著應該把握這個機會,於是組成了四人協作團隊!
協作時間規劃大致如下:
- 十二月初~初期討論:大約花一周的時間,和組員們討論協作專案方向,再依照主題制定需求,並撰寫 User Flow、Wireframe、User Story,使用 Jira 來管理任務。
- 十二月中~開始動工:在這一個月的時間,基本上是透過 Slack 和組員密切討論,每三到五天就會透過 Google Meet 視訊,以同步分配的工作進度,像是切版進展如何、遇到哪些問題、確認是否刪減需求等等。
- 一月初~重構與部署:連作夢都會夢到自己在寫扣,然後在夢中思索怎樣改寫會更好,真的不誇張,從沒想過自己能夠進入這樣的狀態(?)那是一種很難形容的感覺,雖然那陣子腦袋不斷運轉,晚上也幾乎睡不太好,日子卻過得異常充實。
- 一月中~完成專案初版:因為和組員們都希望能早點完成專案初版,接著就開始準備履歷求職啦!
其實個人感覺遇到的最大困難是在初期討論,因為所有人都是第一次合作開發,許多地方必須靠自己去摸索。過程中需要磨合並整理彼此的想法,尋求 Huli 和助教、同學們的幫助,也因此在最後完成了專案初版的當下,那股成就感是前所未有的。記得要把這些感受好好記錄下來,之後在面試展示作品 DEMO 的時候,就可以著重於協作過程中感受最深刻的是什麼。
因為完成的作品還有不少能夠優化的地方,一開始也忍不住擔心這些地方會不會反而變成扣分點,其實倒也未必。既然知道可能會被點出哪些點,就針對那些問題提出未來能夠改善的方向(即使不一定真的有時間去修改),至少在面試當下,反而能成為表達邏輯的一個施力點!
多人協作想要達成的目標是什麼?是開發一個完整的產品?還是累積合作經驗?既然最終目的是為了求職,那麼答案想必是後者,不然直接去創業就好了吧XD
最後附上專案 GitHub 連結,主題是「Sweet Breath 甜の呼吸」,採用前端技術 React Hooks,搭配後端技術 Express、Sequelize 進行開發。雖然很可惜只來得及完成 P1 功能,沒能挑戰金流或第三方登入串接,但藉由這段協作經驗,還是讓我深刻體會到,能夠實際寫出想要的功能是多麼爽快和充實XD
因此還是很推薦找組員一起挑戰協作,能夠在工作前先累積合作經驗。感謝很罩的組員們,不管是在處理 Promise 資料卡關時,還是架設後端資料庫時,真的受到很大的幫助和鼓勵,也讓自己更有信心去面對往後的求職!
求職之旅
這期開設的 [INT101] 求職入門,包括準備流程、面試順序、常考技術問題,以及如何做自我檢討等等,讓非本科轉職的我們能夠在短時間內抓住準備方向,也提到了正確的求職心態,就是「永遠不可能有準備好的一天」。
還有去年底在 Line 開設的面試衝刺群,連續十五天要在晚上 11 點前回答指定題目,提供強迫自己訓練口說的環境,同時也能透過同學的回答,學習不同風格的答題技巧。
現在回想起來,直到開始進行協作專案、加入面試群,到後來頻繁尋求老師的建議、同學分享交流心得,這段期間,才真正有和同學們「一起」在同一個計劃學習的感覺。
在多人協作告一段落之後,就馬上開始準備投履歷和面試,約在一月中左右投遞,主要是透過 104、Cakeresume、Yourator 等平台投遞履歷,數據結果如下:
- 投遞履歷:71 間
- 安排面試:14 間
- offer:4 間
在接到第四家 offer 後,瞭解到這差不多就是自己的極限了,薪資落在 35k~42k 之間。或許曾天真的想過,說不定有機會在第一份工作就進到當初設定的目標公司,但在瞭解與旁人的差距以後,也慢慢認清現實,於是在年前決定要去哪間,結束這段求職旅程。
想起在 Yourator 博覽會的某攤位,有遇到一位人資主管,稍微瀏覽過我的履歷後,便很直白的告訴我:「現在的你沒辦法在公司存活,但我很期待半年後看到你的成長,這份履歷我就先收下了。」當下的我是既失落又興奮,是啊,「現在」的我還遠遠不足以勝任,也沒什麼,就是繼續努力而已,未來還是有挑戰的機會。
其實在剛確定進入現任公司時,心情是有些徬徨的,畢竟公司目前主要使用的前端框架是 Angular,明明過往在課程中學習的是 React,先不論自己是否能夠快速上手新技術,會不會連好不容易熟悉的 React 都逐漸遺忘了呢?總之就是對未來充滿各種迷惘。
但是在經過一個半月的磨合,自己也慢慢釋懷當初的決定,主管和同事們人都很好,很願意分享技術,還有我很多能夠學習的地方。即使現在的我仍在慢慢摸熟 Angular 和 TypeScript,最近終於有點實質產出,能夠修改一些簡單的 Bug 了,可喜可賀!之後再來好好整理一篇上工心得!
結語
不管想做什麼,少一點猶豫害怕,多一點勇敢果決。如果我能早一點開始學程式,早一點跟完課程,早一點完成協作專案,早一點開始求職……或許我能夠有更多選擇也不一定。但更重要的「開始」,現在的我終於邁開步伐,與過去的懊悔告別,正式踏入全新的領域。
失敗了其實也不會怎麼樣,這點在 Huli 的隨意談其實也有提過,不過是認清自己不適合,或是目前還沒有足夠能力罷了。也許在更遙遠的未來,這些新技能會派上用場也說不定,更重要的,是直到我真正放棄的那一刻為止,就還不算失敗,我只是比較慢抵達而已。
如果問到未來的目標,回想起自己在報名信中是這樣寫的:
最終目標是「轉職成為軟體工程師」,並且實現「在日本生活」這個夢想,現階段想把這兩個目標結合在一起,讓自己產生更大動力去達成。
直到現在,這個目標還是沒有改變。想要好好累積經驗,想要相信自己真的有能力勝任這份工作,別忘了,這還只是個開始,而我終於站在這條起跑線上,要繼續朝向下一個目標邁進。
感謝家人、親友們的支持,讓我能夠全心投入學習程式語言。
感謝 Huli、助教、同學們的陪伴與鼓勵,讓我知道在這條轉職路上自己並不孤單,隨時能夠尋求他人協助。
最後也感謝不曾放棄的自己,讓我能夠與自己和平相處,找到未來想要前進的方向。