迄今為止的 Web Developer 之路
前陣子上了人生第一次的 Podcast 節目(很討厭自己的聲音,每次在講話時也覺得自己邏輯混亂不堪,冗言贅字也非常多,改進這些缺點是未來的一大目標😂)分享了從開始學程式到現在的心路歷程。自己覺得用比較拿手的文字方式來敘述應該會更清楚,也藉這個機會好好回顧與紀錄一下自己迄今為止差不多四年的 Web Developer 之路。(文章也許會有點流水帳,自己預計從剛開始接觸程式開始回憶,邊回憶邊寫,覺得什麼有趣就寫什麼😂)
一堂課程,開啟一段全新旅程
我大學就讀的是資管系,大一二的課程基本上混合了多個領域:程式設計、經濟學、會計、管理學,當時抱持著未來再選擇一條路就好的消極心態,基本上我每一堂課都沒有認真去學習,覺得只要可以及格不要被死當就好,到後期甚至連期中期末考都是透過作弊通過的,也毫無任何的危機意識或是羞愧的感覺。
再加上那時候又加入了熱舞社,基本上大一二的生活就是跳舞跳到深夜,然後隔天睡到中午才醒,不知不覺兩年的光陰就這樣消耗殆盡了,真要說學到了什麼,大概就是如何作弊比較不會被發現吧😂(誤
升上大三後社團活動少了,身邊一些比較認真的同學開始去業界實習了,我這才有了一絲絲不安的感覺,仔細想想我好像荒廢了兩年,也不知道未來要幹嘛,在這樣的不安感的驅使下,我隨便找了份傳產大公司電子商務實習生的職缺,想說去體驗看看職場生活。不試還好,試了以後才發現自己根本毫無興趣,也對於傳統大公司的氛圍感到窒息,這無疑更加深我對於未來的迷茫感。
不過某天終於迎來了轉機,我記得很清楚那時候我正在一堂通識課上用著筆電耍廢,突然一個朋友私訊我說他最近在看一門前端工程的線上課程(不賣關子,就是吳哲宇老師在 Hahow 上的熱門課程)還蠻有趣的,問我要不要一起學習,這才開啟了我的工程師之旅。
大家總說前端入門簡單,這甚至成為在業界被鄙視的一個原因,但也因為它的這個特性,讓當初心態飄忽不定的我在極短的時間就感受到打造一個網頁的成就感,也正是因為那種成就感,才讓我能繼續往這個領域探索下去。
(這邊快速提一下,我利用大學後兩年接觸了非常多領域:Machine Learning、System Development、Security、演算法工程,嘗試過許多領域後,我確定自己最喜歡的是更接近應用端的 Web 與 App 的前後端開發,因此後續的目標都是以應用開發為主。)
第一份程式實習
確定要往前端領域發展後,我就辭掉那份電子商務實習了,轉而去尋求前端工程相關的實習機會。當然以我當初剛學幾個月,只會刻刻畫面的實力,大部分的履歷都石沉大海,自己有興趣且有一定規模的公司幾乎都是無聲卡或是婉拒信,所以最後我只錄取一間非常非常新的新創公司的實習機會。那間新創公司總共大約 10 個人左右,辦公室在許多新創公司共用的共同辦公空間,前端開發只有我與另一位正職(到現在還是非常感謝那位正職的帶領),雖然真正在工作上開發了,但總覺得不管是開發還是部署都是在沒什麼規範的情況下進行的(直接 push code 到 master branch 🥶、需求一次做完後再手動 ssh 到伺服器部署的隕石人工流程🤣)當時自己感受到技術力有隨著開發不斷進步,但關於開發流程與品質管理感覺是非常不踏實的。
後來唯一帶我的正職離職了,前端剩下我一個實習生的狀況實在太可怕了,所以不久後我也提了離職,結束了我第一份跟程式相關的實習。
(BTW,因為公司小,當時大家感情蠻好的,上班都很歡樂🤓)
第二份實習:完整的開發團隊初體驗
關於第二份實習其實我在很久以前就寫過一篇文章介紹了 — 「在好的團隊與環境中倍速成長- VeryBuy 研發實習生心得雜談」,因此這邊會直接跳過細節。當初結束第一份實習後,我的目標就是進入一個開發團隊完整的公司實習,剛好當初看到恩師 Bingo 的一篇文章,就被深深吸引了。尷尬的是當初 Verybuy 只有正職職缺,並沒有實習職缺,那要怎麼辦呢?當時的我居然突發奇想的照寄履歷,表明自己對技術的熱情以及多想進去實習的渴望,幸運的是我真的成功成為實習生了(現在想想還是不知道當初哪來的勇氣😂)。至於實習發生的故事可以參考上方的文章連結,就不再贅述了。我想每個工程師都擁有一個協助自己入門與上軌道的恩師,而我的恩師就是 Bingo,近期出書也邀請 Bingo 幫我撰寫推薦序,書籍出版後也回到曾經實習的公司贈書給 Bingo,總體來說這段實習經驗是我十分珍藏的回憶!
第三份實習:轉正失敗,從逆境中成長
每個人心中也許都有自己夢想能夠進入的企業,在台灣,我也有幾間非常想進入的公司,當時發現其中一間夢幻公司開了半年的實習計畫,就毫不猶豫的報名了,幸運地錄取後,我的目標就設定為希望在半年實習計畫結束後可以順利轉正。
實習的半年過的很快樂,理想的技術實力、理想的團隊氛圍、理想的工作環境,無一不讓我期待轉正的那天。然而人生總是會發生一些不如願的事,後來我因為一些跟技術能力無關的原因無法轉正了,老實說自己低潮了一陣子,感謝當時身邊的人的鼓勵,我才能從低潮中再站起來,前往更適合自己的地方。
正職階段
面試過程與成為正職後的故事我也寫過不少文章了,這邊就附上文章不再贅述:
2021 社會新鮮人軟體工程師求職心得分享 (Web Developer)
成為 Software Engineer 半年後的小回顧 — 我遇到的困難與反思
回顧系列 — 成為 Software Engineer ㄧ年後的心得總結
總體來說目前出社會一年半左右,非常幸運來到自己的夢幻公司之一,做的事也是我很有興趣且有挑戰性的,期待自己未來的成長!
前端實體分享會 & 線上分享會 & 實體讀書會
我一直信仰一群人的力量可以走得更遠,所以當還在實習時就與朋友組建了前端開發的讀書會,相關的內容也有寫成文章「在軟體工程師的道路上,關於一群人給予的動力」,後來這個讀書會因為時間喬不攏解散了,我又另外創立了 BESG 這個後端工程的線上讀書會,雖然最後解散了,但組織一個團體的過程中真的學到很多,相關內容同樣也有寫成文章「寫部落格 2 年,籌組線上分享會,值得嗎?」、「劃下句點的線上分享會,再見了 BESG !」
前陣子因緣際會下又跟朋友組織了實體的讀書會,一起閱讀 DDIA 這本經典著作,長時間下來,我真的更確信一群人一起努力,可以激發自己的潛能,也能學習如何交流知識,更重要的是認識相同領域的人,也許會意外的發現同樣身為工程師,日常的生活還能是什麼樣子。像我就因此結識了許多技術強,卻也懂得享受生活,不是無時無刻困在虛擬的世界裡的人,我也從他們身上學習,讓自己的生活變得更加多采多姿。
Web Developer ? Frontend ? Backend ? DevOps ?
這大概是自己掙扎最久的問題之一了,在大學時也針對這個問題寫過一篇文章「Frontend ? Backend ? 如何做選擇?」,當時總覺得一定得在這些崗位中做出一個選擇才是對的,不過很開心自己終於在學習程式第四年後找到自己理想的樣子了!
我仍舊是以前端開發為自己最主要的方向,但同時還是會去學習 Backend、DevOps 相關的技術,因為這可以讓我們走的更遠,也可以在一些關鍵時刻更快的做出適合的決策。
其實前端開發者也分為很多種,專注在動畫的、專注在設計的、也有開發者醉心於開發框架與工具,對於不太喜歡刻畫面的我來說,建立前端開發流程的工具、提升頁面效能、Web Frontend Infra…等主題都是我非常有興趣的,我也是在接觸這些主題之後才了解到「前端 = 刻畫面」完全是一個不精確的刻板印象(React 的核心開發者 Dan 神也算是前端開發者吧?但當你看過 React 的 source code 後就會發現那跟平常大多數人所認知的前端開發是有著巨大差異的。)
自己在工作上也遇到蠻多要處理後端與運維事務的狀況,例如由前端團隊維護的 API Gateway 或 BFF、Serverless 的 API、CI/CD Pipeline、利用 Kubernetes 部署…等等,如果你是一個懂得這些技術的前端開發者,我相信可以讓你走的更遠也更輕鬆。
在出社會後,我也認識許多從前端開發者轉到 Scrum Master、Technical Project Manager (TPM)、 Tech Lead 的前輩,請教後也發現他們十分認同身為前端去學習這些技能是利大於弊的,未來的選擇也會比較多。
因此只要有人問我相關的問題,我總是贊同有時間有餘力就多學,想要嘗試換到不同崗位也儘管嘗試,不用太侷限自己,不需要把自己的路給走窄了!
(不過我想這個問題每個人的看法也都不同,就當作提供一個觀點吧!)
參與技術社群年會,給自己一個夢
還記得在 2019 年,當時大三的我參加了人生第一場技術年會 — 「Modern Web」(那時候身為一個窮學生,我居然願意花 5000 元買年會的票,想起來也很熱血🤣),看著台上的講者分享自己開發的經驗,我心裏不禁想著:「好帥啊!」當時我給自己一個夢,我期望自己在三年內也可以站上年會的舞台。
兩年後,因為疫情,幾乎所有年會都改成線上舉辦,我非常幸運獲得 JSDC 講者的資格
不過這次是預先錄影,並且在指定時間直播影片檔,所以活動結束後總有點不踏實的感覺,名義上我完成了自己三年內要站上年會的目標,但卻不像是真的「站上」舞台去,也沒有我渴望的緊張與激動感(俗稱武者震!?)。
今年離當初許下願望已經是第三年了,很幸運的受到 MOPCON 的講者邀約,其實心裡掙扎了很久,覺得自己還沒有準備好,但我也知道,我不踏出那一步,永遠也不會準備好,因此後來還是決定在與自己約定的最後一年挑戰實體年會的舞台,在今年 10/16 即將到高雄分享(也就是撰寫此篇文章當下的兩週後),我不期望自己講的多好,只希望講完後我能夠有兌現自己當初承諾的成就感。
寫文章,做夢都沒想過寫一寫會生出一本書
印象很深刻,我的第一篇 Medium 文章是在大學時的通識課無聊之下寫的(我通識課到底多不認真😂),到現在寫文章也過了三年,期間也參加了三屆的鐵人賽,現在回頭看過去的文章都會覺得當初怎麼文筆那麼爛,技術也那麼淺,不過我想這就是自己進步的一大證明吧!寫文章最難的在於要怎麼把自己理解的東西透過文字轉化成「別人也能看得懂」的內容,況且每個人對於一個主題的理解程度也不一樣,因此能夠白話通順的說明一個概念絕對比你想的還要難。當然這部分我覺得我也還有很多加強的空間,雖然我給自己明年的目標是更多的實體分享,但我想寫作早已成為我的一種習慣與興趣,我將會繼續做這件事,也認為在寫作時自己是非常放鬆與快樂的。
前陣子將鐵人賽的得獎作品改編後出版成書了,詳情同樣寫成了文章「我出書了!人生清單達成事項+1!」,即使到現在熱潮過了可能已經沒什麼人會買我的書了,我還是覺得很不可思議,對我來說,這也是回饋技術社群最好的方式了吧!
往後的目標 — 保持熱忱
我好像是個一定要追逐著目標才有辦法往前進的人,所以我總是給自己設定目標,完成了就設立一個新的,並且一直循環下去。
以前還是學生的時候,我的目標就是要成為一個工程師,現在成為工程師了,目標則變成我要變成一個「怎麼樣」的工程師,在其他文章中我應該有提過成為 Tech Lead 是我 5 年內的目標,但這應該算是比較表層的目標。之前跟一個前輩聊天時,他說到:「你對學習對技術都非常有熱忱,我覺得很好,我以前也像你一樣,但你以後就會知道熱情總有磨滅的一天。」聽完這句話其實當下是很震驚的,對方是我非常尊敬的前輩,他所說的話我相信都有道理在,但我知道我一路走來都是透過熱忱支撐的,因為熱忱,所以我不停學習,因為熱忱,所以我喜歡分享,喜歡交流。如果有一天我真的如他所說失去熱忱呢?那麼我會是什麼樣子?
我也不知道。
所以我想在這裡許個願,我希望我在這個領域上的熱忱可以一直持續下去,因為這是我所喜歡的樣子。「成為 Tech Lead」也許是我的短期目標沒錯,但我更希望的其實是「成為一個充滿熱忱的 Tech Lead」,期許未來的自己仍能感染其他人,並且永遠不會遇到熱情被磨滅的一天。
以上就是我從開始學習到成為 Web Developer 大約 4 年間的各種經歷,撰寫的過程把好的壞的回憶都在腦袋裡播放了一遍還蠻痛快的,希望可以幫助到同樣在這個道路或過程中的人啦!我們下次見!