我在 BandLab 這三年的旅程 🎂
前言
三年前,我飛到了新加坡,抱著既期待又緊張的心情,開始了我的第一份正職工作。初期在職場上除了語言和技術的挑戰,還要適應不同的生活文化,好在我有幸遇到一對天使房東夫妻,常熱心的帶著我遊覽這個小島國家,教我講 Singlish 融入這個環境,在這無依無靠的時候,最幸運的事大概就是有這對房東夫妻罩著我。
時間過得真的很快,距離上一次寫的試用期的心得已經兩年多了,如果還沒看過的朋友也歡迎看看。
寫這篇文章是想記錄一下自己價值觀的轉變,條列一下在職場上學到的軟實力,還有一些很夢幻和讓我感到驕傲的成果,歡迎大家跟我一起回顧這三年的成長!Let’s go 🚀
那些我學到的事情
自律就是自由
先來聊聊這邊的工作模式,目前 Android Team 有 12 個開發者,有 4 個在新加坡,其他則是遠端工作,疫情開始之後大約有 90% 的時間都是在家工作,除非有同事約才會進辦公室,所以遠端工作已經成為我們公司的文化了,會議也成了很重要的溝通橋樑,我們很努力的在維持品質,一次不超過一個小時,就連行事曆上也是設定 45 分鐘,讓有連續會議的人有時間休息。
我們原則上不加班,承諾的事情有做完,同事的 code 有記得 review,稍微動態調整工作時間不會有人管你,邊出國旅遊邊遠端工作也沒問題。疫情肆虐已久,我終於要在 11 月去泰國旅遊了,把年假清一清充個電,到時候也會帶電腦到那邊遠端工作一陣子。
很幸運的,我們這行的工作模式很單純,只需要一台電腦跟穩定的網路就能工作,同事間也是基於互信原則下去合作。我很享受這種自由,也努力的做好自己的本分,因為我知道這份自由的背後是需要強大的自律來支撐的。
追查和解決問題的能力
經過了無數次追查 bug 的經驗,整個流程在我的腦中默默地轉變成了一套 SOP,而這套 SOP 不只適用在工作上,我也會用來檢視自己的心理狀態,後面會有一個篇幅聊聊我怎麼照顧自己的心理健康。
- 確認問題的嚴重性 (Acknowledge and prioritize)
- 找到問題的根源 (Trace to the root)
- 把問題連根拔起 (Nip it in the bud)
當我收到一個 bug 回報時(不管是程式或是大腦中的),我會先確認這個問題,真的是個 bug,還是有外部因素介入導致的?
如果是個 bug,接著就是要找到問題的核心,然後從根本上解決問題,說起來簡單,但要怎麼做?
Hint: 面對問題,對自己坦承,這個解決方式能不能說服你自己?
在追查問題時,通常你很有機會在碰到問題的核心前,發現一些看似有效的「變通」方法 (workaround),但往往這些方法只能暫時壓制問題而已,如果你妥協了,在未來這些問題可能會在你意想不到的時間,用意想不到的形式回來找你。
所以永遠要質問自己,這個解決方式我能不能接受?只要有一丁點的不確定,都值得再「投資」一些時間往根源去探索,幫助未來的你省下更多的時間和精力。
談判和協調的能力
這項能力是讓我在工作中如魚得水的關鍵,我來舉個簡單的例子,然後聊聊三年前的我和現在的我分別會怎麼應對。
今天你的 PM 在會議中說,我們接下來要實作一個巢狀回覆的功能,我們希望能讓使用者有更多的互動。接著,你看了一看現有的留言功能的程式碼,發現擴展性不夠去延伸實作巢狀回覆…
三年前的我,會直接把頭洗下去實作,原因是我不想讓我的 PM 失望或是影響到產品的時程規劃。但我能預見的後果是,這是個複雜的功能,即使順利完成了,我們還是需要花很多時間維護,因為這是基於擴展性不夠的情況下做出來的,所以技術上來說是個易碎的功能。
其實這是個真實的例子,我去年在產品上實作了這個功能,有興趣的人下面還有一個小篇幅。
Hint: 站在對方的立場思考,提出務實的解決辦法
我在當時的會議中提出了這個擴展性的問題,並告訴我的 PM,我知道他的出發點是想爭取更多的使用者互動,但正因這是攸關使用者互動的功能,如果不穩定的話很可能會造成反效果。接著我提出了解決辦法,請我的 PM 給我兩個禮拜的時間,朝著這個功能的方向重構程式碼,再開始實作。
而正是因為我選擇了去跟我的 PM 談判和協調,爭取到更多的時間實作這個功能,所以這一年來我完全沒有收到這個功能的 bug 回報,對公司來說,這兩個禮拜的投資很划算吧!
獨立思考的能力
新加坡是個文化大熔爐,本地人只佔了總人口的 60%,其他則是外籍工作人士和永久居民。所以自從來到這邊之後,幾乎每天都在接受生活和職場文化的衝擊。
我很喜歡跟我的同事聊教育體制,學生時期都在做什麼,每次聽到比較開放的教育方式都會覺得,哇!原來學生能有這麼多時間探索自己喜歡什麼,在人生道路上需要做決定的時候,能夠自信的做出選擇。
雖然說台灣的教育體制是「唯有讀書高」導向,但我一直以台灣人的真誠和勤奮為傲,我常跟我同事炫耀台灣的人情味有多濃厚,畢竟身為公司唯一的台灣人,我說什麼他們都會照單全收,當然要好好把握機會做國民外交 🤪
總而言之,我很享受這種文化的衝擊,常會讓我反思成長過程帶給我的影響,我認為沒有什麼事情是理所當然的,人格特質、行為模式、思考邏輯都和我們的背景環環相扣。沒有任何一種文化是完美的,不需要怨天尤人,只要用心觀察,獨立思考,你會看到不同文化的不同面向,而這些發現都會成為我們成長的養分。
別小看心理健康的重要
在這個科技發達、自媒體活躍的時代,我們很容易會資訊過載,導致沒辦法控制自己的大腦,該休息的時候停不下來,需要運轉的時候又感到疲乏。
我在工作時常處在高壓的情況,而心理健康就成了能不能穩定產出的籌碼。這三年來我的心理健康亮了幾次燈,而今年我決定要為自己做點什麼,於是預約了幾次的遠端視訊諮商,跟諮商師聊了自己的成長背景,和工作上遇到的焦慮,我很開心做了這個決定。
諮商過後,我發現思想和行為模式是有跡可循的,某些小時候早就被我們淡忘的事情,竟然深深地影響著我們的思想和行為。諮商師的角色很特別,他並不是給予你建議或是教你該怎麼做的角色,而像是手把手帶你探索成長歷程的陪伴者,有耐心的以你的視角帶著你回顧那些忽略的細節。
目前我靠著規律運動和正念冥想,滿有效的照顧自己的心理健康,分享一下我的習慣給大家。
運動習慣:星期一、三、五游泳,二、四、六上健身房,星期日休息。我習慣早上運動完沖個澡再工作,運動會有效分泌多巴胺讓你的心情感到愉悅,身體素質提高後,久坐身體也比較不容易不舒服。
正念冥想:我會聽 Spotify 上面的 Meditation Minis Podcast 指引,有一部 Netflix 的冥想正念指南也很好入門。我喜歡在上班前或是睡覺前這兩個時段冥想,上班前冥想的好處是可以讓一整天的思緒比較清晰,而睡前冥想可以有效提升睡眠品質。
我在 BandLab 留下的足跡
這個章節比較偏技術,有興趣的人可以繼續往下讀
BandLab Android app 有超過千萬次的下載,每次想到自己開發、維護的功能會影響這麼多使用者就覺得很夢幻,好像用著我的微薄之力默默地在改變這個世界!下面我整理了幾項這三年比較有心得的成果跟大家分享一下。
實作複雜的巢狀回覆功能
正如大家在 Facebook, Instagram 和其他社群平台上面看到的一樣,我去年也在 BandLab 實作了這個功能,在實作之前我就有心理準備這是個很複雜的功能,需要處理很多不同的回覆狀態,例如分頁載入回覆、在尚未載入完的情況下回覆、送出回覆的時候母留言已被刪除等,諸如此類的狀態處理。
我記得當初我花了一整天的時間,只拿著紙筆畫下所有我能夠預想到的狀況和應對方式,簡單的跟我的 Team Lead 報告一下我的實作方向,確認沒有大問題就開始實作了。可能因為我已經沙盤推演了所有我能想到的情境,所以實際實作大概一週就完成了,後續也花了一些時間寫測試,確保一些較複雜的處理不會被同事或未來的自己弄壞。
重寫媒體播放系統,和 Google 第一線工程師的交流
去年底,我們深受媒體播放系統的技術債所苦,舊的播放系統已經三年左右了,當初寫的人也離開了公司,所以每當有問題出現都只能東補西補,補完了又會出現新的漏洞。
於是我提議了要重寫這個核心功能,並且採用剛上 alpha 第一版的 library,接著就開始了兩個月左右的漫長路程,一邊讀著 library 原始碼,一邊串接。因為 library 還非常的不穩定,所以開發期間我回報了不少 bug 給 Google 第一線的工程師,也和他們溝通了哪些地方可能可以怎麼做讓開發者更方便,最後看到 bug 被修復,意見被採納後真的覺得好夢幻!
最後我用了比舊系統少了兩千多行的程式碼完成了新系統,寫了詳細的註解,也和 Android Team 做了簡報,確保大家知道新系統怎麼用和維護。
這是其中兩個我回報的問題和建議,貼在這留存一下,希望以後自己看到還是會想起當初興奮的感覺。
菜鳥面試官
從去年五月開始,我被 Team Lead 邀請加入了面試的行列,我依舊記得收到邀請那份興奮和緊張的感覺。目前總計面試了 34 位來自世界各地工程師,最近還在緩慢增加中。
雖然每次看到很資深的履歷都會覺得,我憑什麼有資格面試他們?甚至有時候冒牌者症候群作祟,可能表現的比面試的人還緊張,但平心而論這真的是很棒的學習機會,我很享受每次面試完跟 Team Lead 1 on 1 的討論,也稍微知道從領導者的角度,一位好的開發者需要具備哪些特質。
久而久之,我慢慢對一些國家的文化有了一些認識,比如說俄羅斯的工程師真的普遍優秀,我也問過 Team Lead 原因(他也是俄羅斯人),他跟我說這跟教育的關係不太大,主要是整個產業的水平很高,社群也很活躍,後浪推著前浪,他即使在我眼裡已經是大神,還是每天學習新知,我只有滿滿的尊敬跟崇拜,也很珍惜跟他一起面試的時光。
小結
三年了,當初沒有幫自己設定目標,但真的沒有想到能走這麼遠。我很感激當初 BandLab 願意錄取一個只有實習經驗的 23 歲小伙子,提供我一個學習的環境,看見我的能力並如此重用我,也很感謝這一路上提供我養分的所有貴人。
永遠不要小看自己
人的適應力和潛力真的很神奇,當你踏出舒適圈,好像再怎麼困難的情況都有辦法迎刃而解,雖然難免會產生自我懷疑,但是只要每一步都踏踏實實地走,有天回過頭看,你會發現你走的比你想像中的還要遠。
感謝願意花時間陪我回顧這三年的大家!歡迎加我的 LinkedIn,或是追蹤我的 Instagram,下次見!掰掰 👋