這篇是我跟 Shopify 亞洲區工程部主管 Winston 對話的第三篇。
Bernard:所以你後來在 Wego 待了多久?後來就又去了哪裡?
Winston:我去了 Pivotal Labs,一家美國有名的軟體開發顧問公司。他們提供開發服務,但同時是 agile 開發的顧問,更有自己的專案管理系統 Pivotal Tracker。
Bernard:在台灣的朋友可能對 Pivotal Labs 不熟悉。但在軟體開發產業,他們是有名的開發團隊,尤其是在開發流程與培育工程師方面,都有自己的一套。
可以分享一下當時為何離開 Wego,然後轉到 Pivotal Lab 之後最大的轉變又是什麼?
Winston:當時在 Wego 也待了差不多三年,後來的角色比較像是產品經理。當時我有在想是否繼續往工程師的方向走,還是轉到 non-technical,例如產品經理等或是專案管理。Pivotal Labs 那時候來到新加坡,要建立一個開發團隊。我當時其實不是很熟悉 Pivotal Labs,不過我知道他們在美國的名聲好像很大。後來他們有一個工程師的職缺來找我,當時我有猶豫是否要回去做 developer ... 但我再去研究之後發現 Pivotal Lab 的開發 workflow 與 practice 很不一樣、很獨特。例如他們真的是每天八小時都在做 pair programming!你每天進公司,真的就是會坐在另一位同事的旁邊,一起寫程式!然後他們很注重 test-driven-development (TDD)、agile 開發流程。我掙扎了一下,我在想:我都已經跳出 developer,我真的要回去嗎?最後我認為我會考慮不當工程師,就是因為我欠缺這些 developer practice。所以我覺得不妨去試一試吧,if it doesn’t work,還是可以再回去做一個產品經理。
我覺得不妨去試一試吧,if it doesn’t work,還是可以再回去做一個產品經理。
我就去試了,後來我就體驗到 Pivotal Labs 常說的「開發者工匠精神 (developer craftsmanship)」,還有很多我可以學習的東西:敏捷開發、 pair programming 、TTD 等等,都是是我完全沒有接觸過的。其實我在那裡磨合了很久,最後 Pivotal Labs 也把我的技術提升了許多,是一個非常好訓練自己的環境。我也覺得自己很幸運。Pivotal Labs 使用的技術可能在矽谷已經蠻成熟了,但當時在新加坡、甚至亞洲算是非常新穎的。在 Pivotal Labs 的日子開闢了我對 developer 職涯的認知,也讓我覺得這條路是能夠走下去的。
Bernard:真的。我覺得台灣、甚至亞洲人才最大的瓶頸是產業。我們常鼓勵同學去看看國外或是外商的機會。很多人以為只是因為它們的薪資較高,但更重要的是你要去學習更高層次的做事方法與技術。在亞洲比較有優勢的是星加坡與香港,很多歐美團隊會去那邊駐點。所有你不需要離開亞洲,就能到一個很不一樣的環境、很不一樣的文化去工作學習。
我八年前在美國學軟體開發的時候,就發現大家對 software craftsman 工匠精神很多的討論。但台灣、新加坡,這個話題近幾年才開始被討論。Winston,可以解釋一下,所謂的 craftsman 到底是什麼意思?
Winston:所謂的「開發者工匠精神 (developer craftmenship)」,就是對程式碼的品質的重視與追求。他們對每件事都有一個清楚明確的標準。例如在招聘時,我會很明確的知道我們找的是 product developer(產品開發者),而不是 feature developer(功能開發者)。其實亞洲很多企業的環境,會把你塑造成為一個 feature developer。怎麼說呢?就是主管只給你這十個「功能」
,然後你就按著做就可以了,不需要去問太多。你不需要去想這個產品到底解決了什麼問題,或甚至使用者是誰。你就只要做這十個 features 就好了。在這種環境工作久,就會被訓練成 coding monkey。你只會一直寫 code,並沒有更深層的思考。
但當一個 craftsman 被指派一個任務,他會去提問這個東西為什麼要做?它到底解決什麼問題?同時你他也會去思考,要怎麼把這個產品做到最好?如何把把「品質」建立在這產品上?他有一套不一樣的思考模式與價值觀。這些企業認為如果東西做的好的話,自然而然會吸引更多的客戶。
所謂的「開發者工匠精神 (developer craftmenship)」,就是對程式碼的品質的重視與追求。
Bernard:其實目前很多人想轉職。我希望各位同學知道,其實「轉職成功」有很多不同的層次。從 ALPHA Camp「成功轉職」的畢業中,年薪差距可以從四十多萬到近一百萬!當然產業有很大的差距,而很大部分是看學生的目標 — 一份工作有很多不同的考慮點,不是每個人都追求最高的薪水。但重要的是寫程式就像彈鋼琴一樣,你隨便在鋼琴敲敲打打會聲音,你會幾首簡單的兒歌也可以算是會彈鋼琴。但要成為一個國際級的演奏家,是一個完全不同的境界。
從 ALPHA Camp「成功轉職」的畢業中,年薪差距可以從四十多萬到近一百萬!
我們其實花蠻多時間跟畢業生討論他們的 offer。因為台灣很多公司其實不太懂也不太 care,你可以幫它們開發一個簡單的網頁,能套一個 bootstrap,或者是 Google 一下,東拼拼西湊湊的完成一個產品,對這些公司都沒差。只有能做出來就好了。但工程師的層次其實非常多的。同為軟體工程師,為什麼有月薪兩萬多的、也有十多萬或是更高的呢?這就是層次的差別。
但我也要提醒在初學階段的同學,一開始不要追求什麼 craftsma。這個是一個過程。先求自己的程式碼會動,先建立自己的成就感。再來就是要知道程式碼總有重構的空間,你可以把它優化的更好。或者是可以做不同的事情,比如寫更好的測試之類。重點是你要知道這個領域的水其實很深,不是說學會用幾個框架或工具就會變「資深」。重點是你的程式碼可以寫的更好,對產品的理解更深。
所以 Winston 你在 Pivotal Labs 待了多久?後續又為什麼跳出來創業?
Winston:我在 Pivotal Lab 待了差不多也是三年這樣子,然後 Pivotal Lab
新加坡的歷史比較坎坷
我們在下一篇繼續。