我在 LINE 的最後一天

我在 LINE 的最後一天

雖然小弟離開LINE了,不過還是來總結一下這四年來在這間公司的成長,算是覆盤一下自己過去成長的經驗。

我的學習過程

其實我大學讀的是電機系,我從研究所才踏入資工的領域,為什麼會做這個決定?這要從我國高中說起,我大概國中吧,那時候就對電腦特別有興趣,開始買一些電腦的書自學,我記得那時候Linux發行版Fedora,還是第三版而已,我就開始看著書在那邊重灌家裡電腦,搞雙系統。雖然那時候下指令也搞不清楚自己在做什麼,不過就是覺得很有趣。那時候流行在電腦課玩一些Flash的小遊戲,我也是想要自己做一個出來玩玩,於是家裡的人叫幫我報名了Flash的補習班。之後開始學習Visual Basic是在高中的電腦課,從做一些視窗的小程式,表單、計算機之類的,後來加入程式社團開始學一些排序、搜尋的演算法,從此就開始我學習的路程。

後來上了大學,家裡的人好像希望我以後去日月神教之類的半導體公司做設備,加上自己想說都是理工科就去試試看讀電機系。開學之後其實大一大二都沒什麼在認真讀書,都跑去玩社團跳舞,那時候也跳了幾個舞展,大二後期還幫系上辦迎新宿營也是更忙了。那時候我記得除了程式設計的課程讓我提得起興趣投入外,其他課都是聽不太下去覺得挺無聊的。

我印象最深刻的大概就是微處理機的課程,那時候學的是8051這個單晶片,主要是可以寫C去控制晶片上的針腳電壓,然後去控制外部的設備。這門課除了上理論之外,還有一門實習課,我在實習課做了一個小專案,是可以用8051跟點矩陣還有四個按鈕,在上面玩俄羅斯方塊,還挺有趣的。

8051俄羅斯方塊

漸漸到大三,發現自己的興趣還是在寫程式最多,於是就開始修一些資工系的選修課程,同時系上也開始要做專題,那時候我除了做自己的專題之外,有同學或是外系的朋友專題有需要寫程式的,也會去幫忙外包,收個五百塊錢賺外快哈哈。

電動助力車

這個專題主要是用Arduino加一些感應器,想要讓騎單車的人在上坡的時候,提供一點動力做輔助,或是有踩踏板的時候提供一點動力讓使用者踩的不要那麼累。

田間機器人

挺有趣的專案,用Arduino設計機器人去完成指定賽道上的任務。

倒車入庫的模擬GUI

沒啥,就一個介面而已。

後來大三,除了打工、重修、做專題之外,做這些專案的時候也讓我慢慢立定志向,於是就交了四萬學費去補習資工系研究所的的六科,離散、線代、資結、演算法、OS及計組,現在想想雖然最後讀的學校也不是考上的,不過還好有去上補習班,把大家資工系基礎課程補了一下,之後上研究所也不會那麼辛苦。

為什麼加入LINE?

終於要說重點了,前面的學習經歷大家看看笑笑就好,這間就來說一下我為什麼會加入LINE。

在研究所時期碩一我基本上把必修課全修完了,打算碩二修些自己想額外修的課,不過某一次學校這邊邀請LINE來分享他們的實習計畫 (現在也還有,有興趣可以去報名),當下覺得很有興趣,就抱著試試看的心態去投我的履歷。

面試的過程大概是這樣,一開始當然是投履歷,接著會收到一個前測,主要是做一個LINE Bot來介紹你自己,通過之後會收到通知到公司這邊先寫考卷,接著是面試,後來就去上班了。

實習過程

我還記得我那一年有6個實習生,被分成前後端兩組,並配置兩個導師,來做我們的第一個專案。那時候是跟台北捷運合作,推出一個在LINE裡面當你到達捷運站的時後,會主動推訊息告訴你,公車還有多久要來。當時我其實也不懂什麽前後端,只記得我之前到Udemy上買課學做網頁的時候有學到jQuery,就開始寫了。

後來我的導師推薦我去看一下Vue.js這個框架,也引薦了公司裡的其他同事跟我們介紹前端開發推薦的工具,這個專案就一步步的成形了。當然我也是學習到不少東西,雖然只是做做網頁,但是我們的導師還會推薦我們引入一些像是Eslint、Unit Test之類的東西,像我們前端這一組內有同學是在軟體工程實驗室過來的,他就對這些東西很有概念,我們就常常中午吃飯也在聊這個,其實也是互相交流學了蠻多東西。

第一個專案上線之後,第二個專案就安排下來了,那我們一開始這個前後端的兩個小組,也開始分道揚鑣各自跟不同導師獨立做不同專案。我們這一組分到的是做公司內某一產品的官方網站,然後包含內容管理系統,讓小編可以改改官網的字,換換圖片之類的。

這個專案裡我們三個人就有人做前端,有人設計一下系統架構,有人做後端,不過我們也是會互相討論,或是看看其他人寫的代碼。這個專案裡我們的導師也再引入一些新的東西給我們,像是前端怎麼切版,怎麼跟公司MockUp工程師合作,怎麼用公司內部系統寫測試項目自己做QA,也找了QA同事幫我們看我們寫的測項,整體而言也是學到了很多新東西。後端這邊我還記得一開始用Express.js這個框架來做,後端裡在跟MongoDB交互的部分,寫了滿滿的".then()"這樣的程式,俗稱Callback Hell,後來在看JavaScript的書發現了Async Await這樣的ES6特性,就花了一天時間,找了Koa.js這個跟Async Await兼容良好的框架,把所有程式都重寫了。

在往後這一年裡,循著類似的模式,做專案->嘗試新技術->跟導師或是其他同事討論的模式也漸漸接觸到了Docker、ELK、Kubernetes、Istio這些好玩的東西,同時我們的導師看我們研究這些東西有些小成果,也會幫我們安排做公司內部的分享,老實說第一次面對這麼多人分享自己的技術,還蠻有壓力的,不過也算是對自己的一個突破。

實習的過程在後半段我們迎來第一個大專案LINE MUSIC,這個專案我記得有跟合作廠商一起合作,也認識了一些外部廠商的好同事,我還記得上線前一起在會議室奮戰到半夜的時光,那時候廠商那邊的老闆還會幫我們買開丼當晚餐,挺好的。

成為正式員工

隨著實習的時間結束,我其他實習的同事,有的有出國讀書的規劃,有的要讀研究所(有實習生是大學的)。而我的導師幫了我很大的忙,肯定我這段時間的貢獻在幫我轉正的引薦上下了不少功夫。

LINE MUSIC給你最新、最受歡迎的流行音樂!
LINE鈴聲、來電答鈴、背景音樂、音樂焦點、音樂排行榜、最新專輯等豐富的音樂內容

成為正式員工後,我其實是繼續做LINE MUSIC這個專案,當時也是要趕新需求之外,也開始慢慢做專案的重構,以專案跑在Kubernetes的基礎上,對合作廠商的程式做效能優化,或是對自己開發的後端微服務引入API Gateway、gRPC、GraphQL等技術,同時也設計了一套可以跟合作廠商很好協作的CI/CD流程。可以說我在這個專案學習到不少的東西。

當然除了主要專案外,偶爾會有一些公司內部的小活動,需要做一些報名報到系統,這些雖然算正式專案不過我都拿來玩新技術順便練功,像是把運維腳本做成CLI的小工具,或是加一些APM的監控,其實我都是用這些小專案驗證新技術的可行性,覺得不錯之後就拿去套用到主要的專案上。我覺得透過這種方式可以不斷學習新技術,也很好訓練自己的實力。當然,這也是很感謝我的導師以及公司有營造這樣鼓勵嘗試、創新跟不怕犯錯的環境。

LINE TAIWAN TECHPULSE 2019 科技盛會精彩回顧
2022-LINE-engineering-site
LINE台灣新辦公室採人臉辨識門禁(圖) | 中央通訊社 | LINE TODAY
通訊軟體LINE位於台北市內湖區的新辦公室5日正式對 外亮相,是LINE全球第一個以人臉辨識技術管理進出的 LINE辦公室,員工只要刷臉就能進出。 中央社記者吳家豪攝 110年5月5日

轉職成為SRE

在成為正式員工接近兩年的時間,以及加上實習應該有三年的時間裡,基本上從前端摸到後端,也摸了DevOps,在這些過程中我感覺自己對Cloud Native相關的技術,更有興趣。平時在做專案時公司有組織一個會議把有在用Kubernetes的人組織起來,形成一個類似讀書會的組織來交流技術。後來這個組織裡的大佬,成立了SRE團隊,我自己也蠻有興趣就跟這位大佬聊一聊就決定要轉團隊加入了。

雖然要離開導師的專案團隊讓我感到很抱歉,畢盡人家也是幫了我不少,不過我當時覺得想要去做自己興趣的事情,說不定能學到更多。

加入團隊後,其實工作型態也發生改變,以前做產品服務的是真實的用戶,現在做SRE公司的其他開發團隊就是我們的客戶,所以我們架設的監控系統或是開發的內部工具,都需要跟不同產品團隊去聽他們的需求、考慮是否好維護、設計多租戶機制以及辦訓練講座引導大家使用,這些過程也讓我學到不少東西。

演講

公司這邊有一個技術傳教士的團隊,他們會邀請內部員工鼓勵他們參與社群的演講,我也是有被邀請了幾次,起初我其實很害怕出去演講,講話還會抖,後來其實常常講之後發現熟能生巧,下面是我有講過的議題,非常感謝公司有這樣的團隊,會幫你搞定好演講的一切像是錄影安排時間等等......

Rancher Pipeline 使用經驗分享 by 萬俊瑋 | COSCUP 2019 | Conference for Open Source Coders, Users, and Promoters
目前越來越多專案將開發以及正式環境部署在K8S中,對於如何有效率的串接CI/CD Pipeline 對於一個團隊的生產力有直接的影響,本次將要分享,自己在使用Rancher Pipeline 的使用經驗以及相關的工具優劣勢比較。 Collaborative note: https://hackmd.io/@coscup/HJsYy7eVH
LINE DEVELOPER DAY 2021
Implementing Observability Practices on Kubernetes | Che-Wei Lin (johnlin), Jun-Wei Wan / LINE Taiwan
SRE CONFERENCE 2024
SRE 儼然是企業推動數位轉型的必備人才資源,以致成為科技類工作職場的大熱門。 數位轉型浪潮之下,企業採用雲端原生技術打造核心系統架構,展開 IT 現代化之路,意味著愈來愈多數位化服務或產品,都需要高可靠性的維護,企業也因此跟進擁抱 SRE,金融業如導入 SRE 的銀行先驅新加坡星展集團,或是零售巨頭 Target。

鳴謝

其實這四年來,在這間公司從一個還沒畢業的碩士生,到現在有了四年工作經驗,很感謝在這間公司遇到的所有人。

有我在實習時候的導師,他引導我去循序漸進的學習,也幫我安排資源,爭取成果。

有我在過程中取請教過的每一個同事,感謝你們解答我的問題,讓我學到很多。

有我在DevOps小組裡的大佬,感謝他帶領這個組織,以及後來創立了SRE團隊邀請我過去,也認識了該團隊內的同事,又更深入瞭解了不少之前不會的事情。

最後感謝公司以及開發團隊的大老闆,營造自由開放、鼓勵學習、不怕犯錯的環境,讓大家每天學習情緒高。

結語

上面就是我四年來在LINE的一些簡單紀錄,細節可能有些遺漏不過我想大體上都說得差不多了。至於我為什麼要來到新加坡工作那又是另一個故事了,之後有機會再寫一篇跟大家說。