LY Corporation Tech Blog

支持 LY Corporation 和 LY Corporation Group (LINE Plus, LINE Taiwan and LINE Vietnam) 服務,宣傳技術和開發文化。

Flyte開源之旅 — 從開始到現在

大家好,我是賴仲哲,目前在LINE擔任Data Engineer,這篇文章主要是分享我參與 Flyte 專案開發,以及最後被提名成 Committer 的這段過程的心得分享。

這篇文章會分享

  1. 參與開源 (Open Source) 的契機
  2. 開源入門
  3. 源來適你

前言

老實說,關於『什麼是開源?』『該如何貢獻?』『如何成為Committer?』『當 Committer 有什麼好處?』的分享文,強推可以先看以下這些分享好文(我自己也是看完後才更了解如何去參與開源)

Flyte

YuniKorn

參與開源 (Open Source) 的契機

我剛好出社會第一間公司是在關貿網路大數據的單位擔任工程師,當時認識了很多開源的大數據技術,像Hadoop/HBase/Spark等。當時上班的前輩們還會帶著新進小白去參加Jazz所主辦的DataConf,聽到大數據開源技術各個Committer/PMC的分享,我還記得有一年戴資力(Gordon Tai)拿到Flink Committer,在場的大家都替他很開心,有一種台灣之光的感覺。

在參與會議的那些年,也認識了一位大佬,葉祐欣(Evan Ye)(江湖人稱:葉師傅),也因為知道他的事蹟,知道他曾就任趨勢科技,我還因為這個原因也持續努力加入到趨勢科技,雖然他當時已畢業多年,不過我還記得我進公司的第一天,在辦公室看到玻璃牆上貼滿了曾經畢業的前輩們姓名貼,看到他的名字貼還是滿滿的感動。

記得還有一年,DataConf舉辦了Committer/PMC帶人參與貢獻,我還記得我有幸加入到Flink組(Gordon),可惜的是,當時我實力還太弱,而且對Flink也不熟悉,導致沒什麼貢獻。

也是在那之後認為世界級開源專案進入的門檻很高,自己可能很難有所貢獻了,炙熱的心也就這樣冷卻了下來。

直到有一天,在嘉平的臉書,看到『源來適你』的開源活動,就報了名去參加會議,但可能過去的陰影還是在,始終沒有填寫饅頭營問卷(還有部分是不少新的開源技術,連聽都沒聽過,感覺自己好像老了XD)

然後又過了4個月,忽然有一天聽到源來適你Podcast,Gordon講的一句話:

“不要因為跟那個人覺得差距這麼大,你就連第一步都不願踏出去”

就覺得該勇於去嘗試,於是我就主動去敲翰儒,自我介紹一番,然後翰儒又把我邀請至Flyte台灣群組中,我的Flyte旅程起點就此展開。

開源入門

如果剛好你跟我一樣,在台灣上班,當了N年的工程師,幾乎沒聽說過周遭的朋友或上班的同事們有人參與開源,看了上面的文章後,忽然對開源有些興趣想了解,那很讚!

我這篇文章主要就是為你們而寫,我想要分享『在台灣上班的工程師,如果要參與開源,有沒有什麼要特別注意的事情』,也希望能藉由我的分享讓更多台灣人能一起加入開源。

上班族入門建議

成為時間管理大師

其實有看過上面推薦的文章內容,想必大家就會發現,開源初期會需要花費大量時間,簡單說,身為已經上班的你可以想成你又擁有了第二份的工作,但卻沒有主管或是同事來解說該怎麼使用這個技術,沒解說系統架構,沒解說整個code structure design,就連自己開發環境上的設定(第一關)都可能要自己看官方的文件去完成。

有些功能或設定可能連官方文件都沒寫好,需要自己通靈,或是問人,才會明白!所以初期會花費大量時間在看文件並且各種retry然後懷疑人生,這一切過程伴隨著大量的時間。

所以如果你跟我一樣都已經在職場上班的話,時間對大家來說就很關鍵,因為下班就很累了,幾乎就想躺平/追劇/打game/健身/刷YT,甚至有些人回家都不再打開電腦(哈)

因此,你幾乎可以想成你下班後還有另一份工作,而且還是沒薪水的XD
所以那種會很常加班到很晚的,想參與開源首先就是要換環境了。

如果你跟我一樣還有家庭和小孩,那我們的時間就只剩晚上半夜和假日零碎時間了。

至於該如何成為時間管理大師?

我自己認為,你必須要『找到一個為何要參與開源的理由』,這非常關鍵,也因為這個理由,你可以排除萬難,拋棄種種外界誘惑,挪出時間來投入開源,參與開發貢獻。

理由有很多種:

  • 想要提升自我技術實力
  • 想要跳槽到外商公司
  • 想去國外上班
  • 想要成為技術大佬

我相信每個人都有屬於自己的理由,找到它,這將會是你最強的動力來源

曾經,我問過一位技術主管,在當工程師多年的職涯中,追求的是怎麼樣的目標?他說:『如果有機會參與一個有機會成為偉大的產品,就要當下把握住機會,全心投入,讓它成為你的職涯中,最亮眼的代表作。

走更遠的路,見更多的風景,這才是人生。

找到自己適合的開源項目

我覺得這點很重要,以我自己舉例來說,因為我在目前所在的公司是擔任Data Engineer,公司剛好使用Airflow的技術來處理data pipeline,而我參與的開源專案Flyte也是同樣處理data pipeline的新技術,因此當初在了解Flyte feature時,上手程度就會比較快,對我來說門檻也比較低一些。

我相信大家在職場上多年打滾,想必在工作上也是有精通的技術領域,找到相對應的開源項目,藉由上班累積的經驗降低門檻,就可以加速理解Issue/Bug/Feature,進而加速貢獻,獲得成就感。

每個人都需要成就感,當面對很卡關的問題,若沒有適當的成就感,當時間拉長,是很容易輕言放棄。

這就是為什麼會推薦新人加入開源時,先接簡單的issue,增加成就感。

試著讓開源與工作達到互利共生

這點也是我目前正在努力中的項目,因為這很取決於企業文化,例如公司是否願意使用開源技術?是否能自己決定要用哪一套開源技術?最理想的情況是:因為自身有參與開發開源技術,對於技術有一定程度的理解,若公司剛好有情境可以去使用該技術,藉此導入進去,這樣一來,自己既是開發者也是使用者,『讓公司受惠於開源技術,也讓這個新技術有一個推廣發揮之處。』(更進一步來看,公司依靠開源技術賺錢,若錢又能投資一些在開源技術背後的公司,例如購買Proudction版本企業方案,達成雙贏局面。

工作上遇到問題能feedback回開源社群之外,也能自行去貢獻改善,當個技術掌握者。
其實,在台灣上班多年,很多公司的工程師都是當user,上班用了很多開源的技術,遇到問題卻不會回報社群,甚至加入貢獻,我覺得很可惜,想要推廣這個文化。

源來適你

如果以上的說明,聽完還覺得想要了解更多細節內容,歡迎加入源來適你,這是一個開源小天地,裡面有著不同開源技術的Committer/PMC,他們是很棒的導師團。就算不參與貢獻,裡面也會有許多夥伴們分享當下最新的技術資訊與八卦XD,還會找在國外的大神們來進行分享,真的非常值得加入。

致謝

  • 感謝 Kevin,在開源的路上給了很大的幫助,他真的是很棒很棒的導師,亦師亦友,希望多拿幾個大訂單,Flyte公司上市,股價起飛,財富自由。
  • 感謝翰儒,Top戰友,頂尖魔術師,同樣給了很多幫忙與協助,其實有時候看著翰儒那個衝勁,會重新燃起熱血的心,愛您。
  • 感謝嘉平/Byron,其實我很早認識你們(單方面),FB好友先加起來,我還記得以前常在臉書看到嘉平po買禮物給愛人,無條件刷下去,在那時候我就知道這傢伙是個真男人。同樣也要很感謝Byron,給了一個機會去幫忙FlyteInteractive 很重要的feature,讓我名字有機會掛在LinkedIn Blog。
  • 感謝Troy,在FlyteInteractive的協助,雖然我們在LINE這邊剛好錯過,但終究還是認識到了,真的是源分:D
  • 感謝達哥,我記得我在社群第一次線上通話的人就是你,而且還在幾乎不認識對方下聊了兩個多小時XD,真的很感謝初期,你跟我講了許多Flyte概念,給我一個入門的基礎輪廓。
  • 感謝奇聖,新一代絕活哥,感謝加入進來一起support,也從你身上學到很多。