工作內容
台灣搞固態硬碟(SSD)也沒幾家,就這家。不想去鄉下選擇了台北辦公室。
主要工作是以 C 語言寫韌體(Firmware, FW )。什麼是「韌體」?我不太會解釋,就是寫給硬體動作的軟體。我們公司搞 SSD,當你電腦插上 SSD,決定你重要資料怎麼存放,就是韌體的工作。若是傳統硬碟(HDD),大概就是幫你移動機械手機那些。聽起來沒有很難——聽起來總是很簡單,困難點和技術核心多半是為了補償儲存單元(NAND Flash)的技術限制。對我來說,寫程式就是某需求下的一趟輸入輸出,而SSD 也很簡單:存入哪些資料,就讀取那些資料。
說寫,其實多半在閱讀、除錯,真正敲鍵盤打程式碼的時間很少,就算寫也經常只是複製貼上再稍加潤飾。我們還會遇到程式以外的工作——不如說這更多:跑測試、除錯(Debug)、進度回報(Sync!!)、技術紀錄(work log)、程式碼整合(git merge)、功能討論、客戶問答。我很懶,能自動化就想自動化。所以公司內我一項副業就是開發相關軟體,主要是用 Python 寫自動化腳本(Automation Script)和圖形化介面應用程式(GUI Application)。公司其實也有部門專門在做,但不知不覺寫出興趣,寫到我以為換部門。還搞了個網站,來統一管理公司內部分散的網頁系統。
功能開發時程短則幾日、長則數月。以我自己來說,就是長期實作一個 FW 功能,中間休息空檔就可以寫寫 GUI,相輔相成: FW 遇到一個 Bug 很難解,就寫個 Tool 來 Debug。再回到 FW ,再改改 Tool。發現 Tool 越來越多的時候,把類似部分抽象出來共用,最後濃縮集結成三大 Tool。還允許大家寫腳本去控制,結果大受好評。這套 Tool 以前是和一名神人共同開發,他離開公司之前還跟我說「其實還想跟你繼續開發 Tool,真可惜」。 FW 是公司命脈,我還太資淺去大改。 FW 功能通常也都相當複雜,以至於需要多人作業——雖然公司有神人可以一人搞定 GC 。但我還不行。而 Tool 原本就是自己的副業,再加上共同開發者離開,我就開始大刀闊斧。結果是:我 FW 越寫越少,Tool 越寫越多。
The remaining ten percent of the code accounts for the other ninety percent of the development time.
–Ninety–ninety rule by Tom Cargill, Bell Labs
程式開發都是基於既有固定架構,功能又再細分。四年來我大多獨立作業,有硬體問題或需要抄 Code 時才會比較常跨部門合作。這是我的情況。事後發現我們部門主管都太厲害,所以底下像我們這種小兵,就不用擔心太多合作上的問題。跟他們聊過才知道,他們擋下了多少爛攤子。我很幸運能夠進來這個部門。
學習、成長
還記得大學時期,回宿舍後還會打 Code 寫些網頁。如今寫程式成了工作,回家就開始怠惰,好像看完 Youtube 程式技巧就會更上層樓。公司最近才開始對 FW 搞 CI/CD 自動化、程式架構與統一風格,結果變成要同時維護新舊兩套不同寫法、組織拼湊各自破碎的功能。想當初自己寫 Tool 也是趕鴨子上架,後期才陸續改寫、引進 Design Pattern、Unit Test。
聽說在業界沒經歷過總部 Hard Run 都不算登大人。有一年我們去 Run,住汽車旅館。氣氛燈、按摩椅、毛玻璃衛浴,雙人一間。如此尷尬地同進同出,住了有沒有兩個星期。我們部門還年年換計劃,年年 Hard Run——我不知道是否有其他考量,後來改住員工宿舍,一人一間。公司每年都有獎學金補助,例如你小孩考試第一名就有。我沒有小孩,個人外語考試成績也可以。所以我去考了 TOEIC 跟 JLPT N1,考過的再考一次也可以,及格才有錢。很久沒練,隨意寫個模擬題就衝了。幸好還是有及格。
我不太關心人。公司待了四年多也沒熟識幾個。最怕空氣突然安靜、路上遇到同事。我也不太問問題,總是覺得懂就盲目地開始作業。時常忙半天一場空,還漏洞百出。有一名厲害同事,他總是自賣自誇。但他的瓜是真有料。他總是在問問題、總是在溝通交流,凡事做打算、想備案,有一種成熟:穩。每次跟他哈拉完,就覺得自己似乎也成長一些。後來一起去日本旅遊時,回程就看到他靠著溝通技巧獲得優先登機待遇——有一種溝通是:原本是人家請你做,講到最後變成人家幫你做完還謝謝你。我親眼見識了。
總感覺自己人際關係沒什麼成長——雖然同事說保有個人風格最重要,所以或許要學會接受自己的性格。有一個改變就是願意承認自己雷。以前若有人一直來問問題我就會很煩躁,但也許是因為自己經常講不明白,人家聽不懂,只好提問,結果我卻不耐煩——至少,話語中透露這種感覺。所以我決定改變說話方式:例如說「我們要做 ×××」聽起來就比「你要做 ×××」更有向心力,而不是單方面命令。這條路很漫長,希望能持續改善下去。我很幸運遇到這些同事願意點醒我:言者無心,聽者有意。當你成長環境過於安逸就很容易一錯再錯。他們不只提醒我,還提供了具體建議。真心感謝他們——這就是他們可怕的地方。就算你知道了套路,還是能真心感謝 XD。
三加一年
聽說之前為了留住想待在台北的員工才設立台北辦公室,短短 4 年也從南港搬到了板橋。租金更便宜,新兵更多。聽說老闆很相信風水,而說巧也不巧,這幾個據點——包含鄉下的總部——門口都有小橋流水,也都有全家便利商店(這應該到處都有。
第一年在南港租屋,住在汐止交界處,每天騎機車上下班 9 分鐘車程都要經過狹路並且跨縣市。剛搬去時還很疑惑為什麼路兩側都有全家,颱風天才知道那裡有水門,會關起來。通勤途中總會經過一家「板前屋」炭烤鰻魚飯,香了一年直到搬走還是沒去吃。春天時第一次騎車上山去看螢火蟲,結果騎到南港山半山腰機車就拋錨只好放棄,還遇到好心人幫我推車到租屋處旁機車行修理。那是心想事無成的一年。明明住南港卻經常性出沒新店區。軟體園區 H 棟屋頂是散心好去處,跨年還獨自在那邊喝酒看煙火——視覺上超小。也是自我反省的一年。
第二年公司搬去板橋。覺得租屋不划算結果買了房——感謝家裡贊助。看了半年買在府中一帶,是個 13 坪小套房。交屋時人在竹南,家人北上來幫我領鑰匙,搬家時還一度寄放行李在附近的永慶房屋,感謝中和仲介小陳一路帶看到最後。騎車通勤時間不多不少還是 9 分鐘。雖然公司住家附近都有捷運站,但轉乘環狀線實在太不方便。那是練習生活的一年。去年中午都自己去南港極限運動訓練中心重訓,今年開始跟同事去附近球館打羽球,也開始加入同事們下班後聚餐。倒不是公司附近餐廳變好吃——不如說大家反而比較想念南港美食。也是個尋找自我的一年。
第三年公司擴大,到處招兵買馬。本來一層樓早已不敷使用,又陸續租借了其他樓層,部門內多了許多不認識的新人,突然才驚覺自己也成了老屁股。一問之下才知道學弟對我的印象竟是:藍色外套拎著早餐遲到進公司。不知不覺間上班成為了自己舒適圈,遠離自己無法掌握的一切人事物,程式碼是這一年自己唯一的依靠。小時候總夢想著住在台北——想當初老爸自己去還要跟他記點數要求下次帶我去。一旦夢想實現,就又覺得沒什麼——也許追逐過程總是最刺激。如今開始失焦模糊,曾經還夢想過出國工作也似乎越來越難。新冠疫情在前一年開始爆發,公司旅遊補助全部變成直接補貼也是不錯。
研替默默結束了,沒有歡呼也沒有慶祝。主管說:「不然你還想怎樣?」。明天還是一樣照常上班。疫情逐漸晴朗,我也開始到處閒晃。騎腳踏車、走山健行、老街散步、展演展覽、台式漫才,還難得找了朋友吃飯。也在這一年第一次得到出差機會,去印度海德拉巴一個月。聽說其他部門都要強迫參加,可能我們部門風氣愛玩優良,除了幾個人家庭因素之外,幾乎全員主動舉手報名。這次情況危急,分了梯次還是得去半年,所以想去的都可以去。主管都說了:「玩比工作重要啊!人生就是要體驗。」泰姬瑪哈陵、孟買、恆河,該看的都看了⋯⋯,搭火車還逃票被抓包,罰了 25 倍車票錢:₹250(約台幣 100 元 XD)。印度路邊攤只嘗試過 Chia(香料奶茶),雖然從一個不知道放多久的茶壺倒出來,茶喝完陶土杯還可以直接隨意丟地上碎滿地,但真好喝。
說說雙北
因緣際會住進府中,真的讚。鄰近板橋車站搭高鐵超方便。還有林家花園、府中後站商圈、南雅夜市、新北耶誕城——雖說一年可能只去個幾次。捷運藍(板南)線也是台北動脈路線,直通西門町、龍山寺、北車、忠孝敦化(東區)、市政府(信義區)。搭配公車簡直發動魔法卡,可以直通更多地方。林口、淡水、三峽、新店、木柵、九份——發現我全都搭過了,而且都是起點站。給我一班車,我就能去全世界北北基。
不知道和選舉有無關聯,但府中近年來成為新北發展重點,還推出「府中雙城」口號,希望打造成新北西門町。甚至打掉好幾條捷運出口附近道路,改成人行步道、廣場,週末活動也越來越多。慈惠宮是以前郭台銘小時候住的地方,路過就順便拜一下,不求賺大錢,夠用就好。
自己成了北漂族,才知道為何很多人都想來。你可以在台北遇到各種人、做各種工作,甚至反其道而行獨來獨往也都可以。總之,只怕你自己擔包袱,否則是個可以做自己的地方。也許因此怪人特別多,倒也有遇過適應不良而決定離開的。在如此忙碌的城市裡,我覺得要特別留意別瞎忙:每天經歷各式各樣活動,彷彿人生過得十分充實。這一切有可能是「台北」光環外溢,而若自己沒有因此成長、學習,那就會有點可惜。只要是自己的選擇,要留要離開都可以。
俺らこんな村いやだ 俺らこんな村いやだ
東京へ出るだ 東京へ出だなら—吉幾三
後記
說了一堆,我還是在工作四年半的時候,選擇轉職離開了。有空再紀錄。原本只想寫一點,但真的發生太多事情。祝自己一切順心。