KKStream KH Intern 心得分享(前篇)
其實從以前到現在都一直想在 Medium 寫心得文 or 技術分享文章,但因為懶所以一直沒動筆 (喂
我在高雄 KKStream 實習快兩年了 (2016.08 — now),鑒於最近公司的計畫要邁向一個新的里程碑,下午又碰巧看到 Drake 大大分享台北另一位 Intern 的心得,讓我決定趁還沒忘記前趕快寫下實習的甘苦,也當成我第一篇 Medium 系列文章。
跟一般的分享文不一樣,我會用比較輕鬆 (?) 的語氣撰寫,而系列文會分三個部分:
- 前篇 — 主要是一些心路歷程以及公司環境介紹,偏休閒
- 中篇 — 我實習在做些什麼,以及摸過的技術分享,偏技術,但不會太細
- 後篇 — 這個應該會在很久之後,應該也會偏更技術,內容就暫時保密 XD
那我們開始吧。
MOPCON
MOPCON,全名行動科技年會 Mobile Open Platform Conference,是南部最大的資訊社群與研討會。
為什麼會先介紹 MOPCON 呢?一切都是從這裡開始的。
在我資工系大二那年 (2014) 因緣際會修了目前指導教授開的「網際網路程式設計」課程,得知了有這個研討會,因為沒搶到票但又很想去,於是被拉去當志工。在這裡我認識了許多朋友,也認識了現在在高雄 KKBOX 任職的 Hash,以及經理 Eric。而也是這時候我才知道原來有「實習」這種東西(不要笑我蠢拜託 QQ),而那時候的我覺得自己能力沒有很強(雖然現在也沒有很強),所以就沒去申請,一直到大四才有勇氣去申請 XD
KKStream 是間怎樣的公司?
先來幾張我們公司的照片(高雄)
摁?你不是要講 KKStream 嗎?怎麼門口貼 KKBOX?
歹勢啦,高雄辦公室比較小,KKStream 這邊也只有一個 Team,也只能寄人籬下了(誤),實際上我們只佔了整間辦公室的兩排座位。不過大家相處也都很愉快,只是偶爾嘴砲想切割時會說「隔壁公司 (KKBOX) 的某某某」這樣 XDD 。如果工作累了,站起來走動一下,也可以隨時跟不同公司不同的 team 交流(聊天打屁?),我想這應該是小辦公室的好處吧。
想了解一間公司到底在做什麼,官網會是最好的選擇 — 不過大家應該看完 KKStream 的官網還是滿頭問號 XD (之前啦,我剛剛才發現我們官網最近更新了。現在寫的蠻清楚了,上面有台北的照片如果有興趣的人可以去看看 XD)
KKStream 為其他公司提供影音服務,包含:
- 影音串流服務的基礎核心技術與服務:包括像是針對 OTT 服務的影音壓縮 / 串流優化 / 加密 / DRM / 打包成符合當代各播放平台的格式 / CDN 串流的優化…等。其中的 CNEX / Giloo 是我們的一個友好客戶,率先採用我們的 Encoding System 以及 Streaming Service。
- All-in-one 的 OTT Easy,從無到有,提供影音串流核心平台,並且包含後台( CMS )、商業邏輯、前端( iOS / Android / Web / SmartTV )以及客制化的功能。這是個正在火熱開發中的一個新產品,才剛剛在 Content Tokyo 2018 正式對外曝光。
- au 的 Video Pass(ビデオパス)是我們的第一個,也是目前最大規模,的影音串流客戶。超過 100 萬的付費會員、包山包海的功能、高度與第三方廠商的整合,一路從 iOS、Android 一直到 SmartTV、WebOS、STB 等平台都有了!
- KKTV,我們的姐妹公司的服務,同樣採用了一些核心技術,是我們最好的夥伴之一。
我覺得 KKStream 是間充滿自由風氣的公司,有人說跟國外的公司很像,但國外的我沒待過我也不清楚。我們公司基本上是:
- 你愛在哪工作就在哪工作 — 如果主管允許,你甚至可以到樓下咖啡廳 VPN 回公司 coding(我是沒這樣試過 XD),有些人會常駐休閒區,沒有規定要坐在自己的座位上。
- 不定期會舉辦些有趣的活動,例如三節活動、新產品上市前的 bug bash(文末會有照片)。
- 提供文藝基金,有想參加的展覽、研討會可以申請,或是想推薦給大家看的書可以用基金買,我覺得超棒。
- 大家來上班不只是工作,更多的是互相交流技術與新想法,很多產品就是在這樣的碰撞中誕生的。而上班以外的時間,大家也都在不斷的學習,不只是讀書,也嘗試新的技術、語言。
- 主管們點子超多,而且都是可行的,然後就會付諸實踐,我覺得是間不斷在進步、成長的公司。
- 會針對新產品或新點子舉辦 Brainstorming
- 因為公司有 Data Team,不定期會舉辦公開或非公開的 Data Game,以及 Deep learning workshop 等活動,也算是跟我現在研究所學到的有搭上邊 XD
- 有自己的 Medium,不定期會有技術文章分享,也有定期的 Gossip of A.I.
接下來我會分享我在實習間的心路歷程:
心路歷程
此段會大約提到我碰過的技術,但詳細會等到下一篇說明
小小 SQA 時期
剛進來實習時,我幾乎是第一天就開始寫 code,第一項工作是幫我們的 CMS 產品寫 Automation Script。
但其實面試的時候我想要的工作是前端,所以一開始被告知要寫測試的時候有點失落,但是後來才知道,SQA 真的是很重要的一個角色。
當時用的是我完全沒寫過的 Ruby,但我自認為學東西很快,加上以往的學習方式是直接拿一個 project 來啃,又加上有前輩寫好的一些測試腳本,所以不到一天就上手了,接著就是逐漸把所有的 test case 寫成 code。
轉戰前端,但後端接踵而來 XD
在不久之後,當我們搬遷到新的辦公室時,在一次與主管的聊天之中,主管問我,是不是覺得寫 Automation 很無聊(笑),我當然不敢說(雖然我也不覺得很無聊,等的時候比較無聊),而她也惦記著我在面試時對前端的渴望,於是便讓我跟一位大神一起學習。
然後我就跟這位前端大神開始了 React Native 之旅 XDD
當時因為某些內部需求,需要將一個產品 mobile 化,而為了快速開發雙平台版本,我們決定使用 React Native,而因為某些緣故,我也參與了後端的開發,使用的是 Golang。
而在這項產品結束且順利 demo 之後,我則是繼續回去寫 Automation,只是是幫另一個產品寫,使用的是 Python。
在這期間,我經歷了 SQA -> Frontend -> Backend -> SQA (也沒那麼照順序,可能有混雜),中間甚至還穿插了學習一些 SA 的東西,我感受到了爆炸性的成長,也感受到了不同於在學校學習所學到的知識。
然而一切沒有這麼美好…
這時候時間點差不多是今年 (2018) 農曆過完年之後,此時,面臨了我實習的低潮。這時候我才知道,當你在該工作的時候找不到事情做,是一件很可怕的事情。
在這邊先整理一下我接觸過的三個產品:
1. CMS
2. React Native 的產品
3. 第二次寫 Automation 的產品
在我幫第三個產品寫完 Automation 之後(嚴格來說測試沒有所謂的寫完,但就是把所有開的 test case 都寫完了),這時候我們 team 也面臨第三個產品要結束與展示成果,以及迎接下一個新產品的到來,這段非常複雜的時期。而我的心情也跟著非常複雜起來。
這時候的我每週都跟主管有個 one on one meeting,在我手上沒工作之後,主管指派給我一些關於新產品的任務,大多數都是技術的學習,以及某些問題要如何解決。但是沒有方向的我只能在 slack 上胡亂敲人問(感謝那時候被我亂問的前輩們 QQ),然後每週去公司都是焦慮卻又無所事事。
這段心路歷程我沒有跟任何人說過,因為我一直覺得它會過去的,而我也一直盡量表現得很正常的樣子。事實證明它的確過去了。我們總算要迎接新產品的到來,而主管也指派給我了其中一些部分。旅程依舊會繼續,地球依然轉動(公三小 XD)。
可能你會覺得,你只是個小小實習生哪來這些自以為是的黑歷史。別這樣,每個人都會有低潮的時候 QQ
不過雖然這段的篇幅佔了整個心路歷程的一半,但實際上只有差不多一個月的時間而已 XDD
心得
在 KKStream 實習快兩年的期間,我學到了在學校學不到的事情,包含:
- 真正的公司是怎樣運作一個產品
- 一個產品的生命週期,以及不同於以往學校作業、專題的開發方式
- 敏捷開發、Git flow 等等
- 知道產品有所謂的 CI/CD
- 交到了許多朋友
- 學了許多的語言 — 這就不用說了,我們公司的人都很愛嘗試新的東西 XDD
主管曾經在某次聊天跟我說,實習不是只有來學東西,更重要的是交朋友、交流,從他們身上學到面臨職場上大大小小問題的解決方式。很高興我在 KKStream、KKBOX 交到了許多朋友,也很謝謝很照顧我的前輩與主管們。
而旅程依舊會繼續,地球依然轉動,我也依然有許多需要學習的事物。
照片補充
後記
抱歉寫得很亂 XD 太久沒寫文章了中文都退步了。這篇沒有要幫助任何人,純粹只是我想寫心得,但如果你有從中獲益的話也可以給我一個拍手 XD。
如果有興趣想到 KKBOX 或是 KKStream 實習的朋友,可以聯絡我,或是直接到 104 等網站上投履歷,我們是全年都有招收實習生的。
下一篇我將會寫我在實習時摸過的技術,偏技術但不會寫太難,畢竟小弟還是個小嫩嫩,那我們下篇見!