blog-banner
removeMithril
撰文者/Yvonne Chen

2018-08-29 Views: 5228

認識秘銀小夥伴:網站後端工程師 Frank

秘銀架構師之被螢幕淹沒的男子


本週要為大家介紹的是 Frank。

Frank 是秘銀的網站後端工程師,平常話不多的他,只要聊到程式便能滔滔不絕,分享許多專業知識與想法。

 

「怎麼會走上工程師這條路?」

 

應該是高中時自己發掘的興趣吧!高一時考進科學班的物理組,原本也是和大家一樣乖乖念書,直到高一下參加國科會計畫,從科展及實驗中發現對工程領域的熱情。剛開始我對科展的主題沒什麼頭緒,後來在地科老師安排及牽線下,我和一個與研究黑洞的學長一起完成科展。研究過程中需要用跑一些基本的程式分析,才開始對這領域感興趣。不然以前對程式的瞭解僅停留在一些外掛程式上而已。也因此,我加入了電腦研究社,在學長們的帶領下對寫程式產生了更深的認識與興趣。

 

「第一個學的語言是?」

 

我第一個學的語言是 C 語言,是在高中的「生活科技課」接觸的。這門課的內容滿有趣的,上學期學做樂高機器人;下學期學程式語言。

 

「C 語言主要會用在哪?你覺得為甚麼學校會安排高中生第一個學的語言是它?」

 

可能因為它在生活中應用較為廣泛吧!像是伺服器、iOS、Android 的作業系統核心,幾乎都有用到 C 語言。它的執行效率高,又有跨平台的特性,因此常被當作是程式入門的基礎科目學習。


「為什麼會選擇當一位網站後端工程師?上一份工作也是做網站後端相關的嗎?」

 

高中、大學時學的程式都以系統管理居多,也覺得伺服器背後的運作滿有趣的,也就繼續朝這方面鑽研。大學時期我有試著寫一些網頁前端的程式,不過可能因為我比較沒有美感、也比較沒有耐心修調設計細節,就覺得自己不適合網頁前端的工作。


「為什麼選擇寫 Python? 」

 

我大約在 2012 年開始接觸 Python。其實它不算很新的語言,大約在 90 年代就出現了,只是到近幾年才紅起來。會紅起來的原因除了比較易懂和搭上資料分析和人工智慧熱潮外,可能是基金會推廣比較賣力吧!PSF(Python Software Foundation),會在各地推廣不同的活動。台灣也有不少 Python 的活動,除了一年一度的 PyConTW 和每月的 Meetup,近年最常看到的應該就屬 PyLadies,目前主要應該在台北,有興趣學 Python 的女生可以參加。

Python 的優點我覺得有兩個,一個是寫起來簡單易懂,比較貼近道地英文的寫法,因此不管是之後自己回過頭來看、還是一起寫 code 的其他工程師需要看,都能夠比較容易理解;另一個優點是語法比較乾淨。其實寫程式只要過幾個月再回頭看,常會忘記當初在寫什麼,但 Python 易懂的語法可以幫助回想,但主要還是跟寫程式的人有關就是了,語言能幫助的有限,適度的註解也是很重要的。

 

「如果用一件生活化的事情來比喻寫程式,你覺得寫程式對你來說像什麼?」

 

我覺得寫程式其實很像做料理,而且是研發新料理的那種。程式碼就像食譜,相同的程式碼和食譜可以得到相同的結果,但由誰來料理也很重要。根據需求不斷修改食譜,在修改的過程中,一個厲害的廚師可以透過直覺或經驗很快知道食譜有哪些缺漏,並快速進行改進,反覆驗證,確保按照食譜做出來的菜肴的味道是正確的,加上註解讓其他人可以很容易瞭解食譜的步驟,甚至容易進行改良。

就像 Martin Fowler(馬丁·福勒)的 Refactoring(《重構:改善既有程式的設計》),教讀者如何有系統性得重構程式碼,當中也講到程式有各種不同的「壞味道」。

 

我覺得工程師就像廚師,專業分工並合力做好一道菜是很重要的,PM 就像大廚,每位工程師做好自己負責的部分,最後組合起來,將最完美的菜餚呈現給使用者,送上我們覺得最棒的產品。

 

「什麼時候開始接觸虛擬貨幣/區塊鏈的?」

 

大約在 2013 年左右吧!有同學開始在宿舍挖比特幣,當時因為還沒有很多人挖,只是把主機放著跑就可以賺錢,覺得這滿神奇的!後來就自己找資料研究,慢慢了解背後運作的技術。

 

「現在有買哪些幣?」

 

我目前都買一些比較大的幣種,以比特幣、以太幣、萊特幣為主,當然還有秘銀幣。


「當初為何會選擇加入秘銀?覺得作為一位工程師在秘銀工作最大的優點是?」


區塊鏈算是滿新的領域,加上我平常就有興趣而且有在關注。因緣際會下透過高中同學的介紹得知,當時雖然有拿到其他間大公司的 offer,但覺得這邊應該會比較有趣和有挑戰性,就加入秘銀了。

我覺得在這邊工作最大的優點是,可以多方嘗試不同事情。這邊組織扁平,不太會排斥新的想法,同事們也不會只侷限在自己的專業中,彼此都會互相幫忙,這種互相 cover 的感覺讓人很安心、舒服。


「這半年來印象最深刻的事情?」


應該是 Lit 上線的時候吧!Lit 上線前一個禮拜我才到職,當時團隊為了要把產品在時間內做好,都在公司待到滿晚的,希望在一週內把功能建置完成。於是我就在一個禮拜內把 Lit 的部署流程和架構弄好了,連我自己都覺得不可思議,和幾位同事們的超緊湊合作開發有種回到大學社團的感覺,覺得很開心。

 

「在 Lit/Vault 的建置經營中,覺得最困難的部份是什麼?」

 

Lit/Vault 的性質比較不同。Lit 比較偏社交產品,可能會有突然湧入的使用者,重視的是伺服器的可伸縮性(Scalability),要確保可以處理突如其來的流量。而 Vault 目前比較偏電子錢包,重視的是整體架構的穩健性(Robustness),要確保使用者的提領跟存放不出差錯。兩者都有其困難、具有挑戰性的地方。

 

「為什麼你需要那麼多螢幕?」

 

Mac 雖然可以支援多桌面,但切換畫面很花時間。我偏向一台螢幕用來處理一件事,我目前的分配是:一台看流量、一台放瀏覽器處理雜事、一台轉成直的下指令及寫程式碼。

 

 

「個人嗜好/假日都在幹嘛?」

 

平常會去運動,像是打籃球、游泳、健身等。偶爾也會看書、寫寫程式碼、部落格文章。

 

「最喜歡的食物?平常的、公司的零食」

 

我除了紅豆、羊羹外其他大多都滿喜歡吃的!公司零食…

Yvonne: 停,我知道,你最喜歡「時間販售」的代餐,你根本每天都在喝沒在吃飯==。如果說 Drain 是多力多滋殺手,那你應該就是時間販售殺手,整箱一半都你喝的吧!

 

「用一種動物比喻自己?」

 

我覺得自己像貓頭鷹,都是夜行性動物,白天比較沒有精神,晚上才比較有活力。牠們行動前也都會先仔細觀察才真正行動,我的做事方式也比較偏好全盤考量後再實際執行。

 

「最近最想學習/努力的方向?」

 

我希望朝「軟體架構師」的方向前進。這個職位除了系統管理外,對程式碼也要有一定的深度與了解。不過這個職位通常在大公司才會有這種需求,小公司對我來說的價值在可以多方學習新事物。不過我還有很多要精進的地方,尤其是溝通能力。希望未來可以成功當個「軟體架構師」,成為較全面性的程式人才。

 

「未來的夢想是?」

 

短期內我滿希望嘗試遠端工作。這幾年因為美國灣區房租貴,越來越多這種工作型態出現,可以省下昂貴的租金,有的甚至會作為薪資回饋給員工,每半年會由公司出錢約在某個地點和同事見面順便員工旅遊。我覺得這工作型態滿特別的,應該也是趁年輕才能做的事情,希望有機會可以嘗試看看!