[Memo] 數位游牧的生活 Part End

Image Credit

13lkg0agi0.jpg

時間過的真快,這兩年的游牧生活在最近算是告了一個段落。兩年的時間說長不長說短不短,中間也發生了各式各樣的事情,所以想把這兩年做一個總結記錄下來。

喜好、堅持、技術偏執

我覺得有時候技術人通常都會有這個問題,不論哪方面的技術、哪個領域的專家,通常都有自己擅長的工具,輕微可以稱為喜好,嚴重點可以稱為堅持或是技術偏執。如果今天是個一人團隊,你想要用什麼就用什麼沒人可以管你,不過如果是在一個團隊裡面,勢必需要做出一定的妥協。

對於 startup 來說最有限的就是資源,有時候團隊空耗了很多時間在這些不重要的事情上面(從團隊能否存活下去,或是對使用者來說有沒有感的角度來看的話),最慘的莫過於都已經達成團隊共識了,最後還被推翻打掉重練…這真的不只是浪費資源,還嚴重的打擊了成員的士氣呀!

技術選擇

這是前一點的延伸。很多時候公司們的技術決策者會因為自己的喜好或是堅持而選擇了特定的工具或是技術,這可以理解,但是我覺得一個技術團隊還是需要擁抱開源軟體,要不然這對於日後的開發或是維護甚至是人才招募會有很關鍵性的影響。

為什麼這樣說呢?以我們為例,我們真的太專注在造輪子這件事情上面了。造輪子不是不好,在某個程度上他讓你對於使用的技術上有更多的掌控與理解,而且可以做許多更客制化的擴充。但是比起 startup,這件事情應該發生在有足夠資源的大公司會比較好,因為通常要維護這種輪子(特別是基礎建設的輪子)會花費大量心力,有時候為了業務需求還要做許多改變,所以如果你們是 startup ,光是專注在開發產品的資源都不夠了,更何況是這些對用戶無感的輪子呢?

第二個問題是社群的力量,就是因為沒有足夠的資源來做這些事情,所以如果選擇了知名的開源軟體當做基礎建設的輪子,那就可以搭著社群的力量前進,更專注在自己的產品上。

第三個問題就是招募還有職涯發展,一來是這類型的私有輪子會造成成員投注了太多時間在其之上,而沒有去研究或是了解市面上比較流行或是大家比較常用的技術(不是要一昧跟風,但是至少要花點時間了解大家在幹嘛),造成了未來職涯發展上的受限。而這個的另一面就是招募也會是一大問題,如果需要找新血來參與開發,基本上他們所擁有的能力是無法在第一時間帶來幫助的,通常還是需要經過一個不短的學習期才能實際上場,真的很傷。

所以如果可以的話,在捲起袖子開手寫第一行程式碼之前,想想這個問題,找找看網路上有沒有什麼現成的解決方案,真的可以幫團隊走得更遠,要不然中途才做改變帶來的成本真的很高很高很高!(真的很重要,所以要說三次)

權力下放

我想各個團隊的 CEO/CTO/C?O 應該都不是一開始就是做這些事情出身的,通常一開始都是專精於設計、資訊…等各個領域的專家,但是是因為公司編制的關係才掛上了這樣的頭衘。

如果初期團隊小,就只有這幾位創始人,那當然沒什麼太大問題,反正每個人還是繼續專精在自己的領域上。但是如果人數開始成長,開始招募了非核心團隊的成員之後,問題就開始了。

有時候上位者並沒有意識到自己職位的改變,沒有辦法適度的把權力下放給同樣領域的成員做決定(像是 CTO 授權給架構師、CDO 授權給設計師…等),而還是把決定權保護的好好的,就會造成上面的人因為要參與的事情太多所以忙得要死,而下面的人因為沒有辦法決定事情所以會浪費很多溝通的成本在說服能做決定的人,甚至是要花很多時間持續改動 spec 直到同意為止。大公司就算了,但是對 startup 來說真的是一大傷,通常這樣一來一往也過了好幾天了。

所以如果可以,請適度的鼓勵下面的人自我嘗試並授權給他們!

持續主動揭露訊息

對於一起在 startup 工作的大家來說,與其說是同事,不如說是戰友還比較貼切一點。比起穩定的大公司,要選擇在種不穩定的環境工作真的是需要拿出勇氣的,更不用說是那些有揹負家庭責任的人。

在海軍當兵的時候常聽到「同舟共濟」這個詞,我覺得也蠻適合用在 startup 這樣的環境。

不管是好的或是壞的消息,為了要讓大家不要有各種過度的想像或是猜測,最好的做法還是持續並主動地揭露訊息。真心覺得這對於實行遠端工作的團隊來說特別重要!

語言落差

我覺得這是在參與過由台灣人及非台灣人組成的團隊之後得到的感觸。以前在大公司上班的時候,同團隊成員之間一定會有著比較深厚的友誼,一定都會自己私約各種吃喝玩樂的活動,然後比較不熟的同事們就比較不會有什麼特別交集,也更不用說是和管理階層之間的互動了。

想想,光是講中文的我們之間都有著這樣子的落差了,更何況是和那些不是講中文的同事們呢?所以如果團隊是由講不同母語的人們所組成,最後通常就會變成兩個獨立團體,吃飯或是聊天都是各聊各的,大吐不快!!

所以如果今天你是老闆而你真的想要了解團隊成員之間最真實的內心話,或是想要和他們有最真實的互動,能夠了解他們所使用的語言真的是一大加分。

任務分配

身為一位工程師,解 bug 對我來說是比較乏味的一件事情。不過不可避免的是程式難免都會有 bug,所以這一定是日常工作的一部分,但是如果持續解 Bug 超過一兩個月而無法開發其他有趣的功能,那真的是會是讓人心情低落!

startup 的 CEO 有時候為了資金的問題而忙得焦頭爛耳,如果團隊裡又沒有相對應的管理階層可以決定未來產品方向,很容易就會陷入這樣的困境,因為沒有方向的話就代表暫時沒有新的功能可以開發,但是又不能讓整個團隊空轉,所以唯一的解法就是要求大家修 bug 或是改善效能,如此而已。

現在往回看,這件事情在當時真的實實在在的影響了團隊的士氣呢。

最後

很快的兩年就這樣過去了,2017/08/01 是在一個團隊兩年的里程碑,我們有歡笑、有爭吵,但是不管怎麼樣還是很高興認識了這群有趣的人,未來的路還很遠,還有各種無限可能。老樣子,想說的話太多,還是找個時間大家約出來喝喝酒聊天比較實在!

謝謝你們 🙂

(+Mehgan, Ratih, Vlad, Pomin, Lucien … etc)

vectr-2

數位游牧的生活(未?)完

[Memo] 數位遊牧的生活 Part 1

Image Credit

digital_monad

前言

從七月離職後就一直想寫一篇有關「數位遊牧民族」的生活,但是一直被拖稿(??)真心覺得這一段旅程應該會是人生中特別值得紀念的一部分,所以要好好的寫些東西來記錄一下!

起點

我想,所有的起點都是從 2014 年這封信開始的吧:

beginnings

真沒想到我還翻的出來這封信,對我來說,這封信是目前職涯的轉折點(加現在這裡也才第三間公司,職涯是有多長啦 XD),也是我數位遊牧生活的起點。

想想,我開始認真學「寫」程式,應該是我在大二的時候吧,那個時候因為社群的關係認識了一些人,一起做了一些有的沒的的小專案,雖然沒賺多少錢但是不知不覺中也建立起寫程式的熱情還有能力。又因為當時認識的朋友們給了我很多機會,所以也在各個地方遊走了一些時間,又從中認識了好多人還有提昇了一些能力。

大學畢業後,我就設立了一個目標,就是每一年至少要寫一些有趣的開放源始碼專案,先不管這些東西對別人來說有沒有用(有用當然最好),但是至少要寫一些東西出來。久而久之,我的 GitHub 開始累積了一些東西,而之中還真的有人在用 XD (我都不敢用了你們怎麼敢用!!?)。其實當初在寫程式的時候也沒想這麼多,主要也就是好玩而已呀(玩心 driven development xD),天知道這竟然會是日後和 Nick 接上線的橋樑!

不過管他的,「機會」就是來了,想擋也擋不住。

Let’s talk

這邊真的要特別講一下,我真的覺得外國人找人的方法很特別(樣本數只有一,應該很不準 xD),有別於以往在 LinkedIn 上面的罐頭信,Nick (我們的 CEO)的做法就真的很不一樣,從上面那封信其實就可以看的出來如果他們對於你這個人有興趣的話,他們會先試著了解你這個人做過的所有事情不論是技術或是非技術相關的。以 Nick 為例,他的做法是上 GitHub 把所有在台灣的 JavaScript 開發者從頭到尾全部看一遍,然後從你的作品去了解你這個人的能力在哪裡,如果對你有興趣的話會再透過你在 GitHub 上面留的信箱來聯絡你,對你做進一步的認識。

補充:這裡有兩件事情我覺得很重要,一就是 GitHub 對於一個軟體工程師帶來的影響,二就是你一定要留一個別人找的到你的信箱,如果怕被機器人找到你的話就把 Email 的特別字換掉也是一種不錯的做法。所以如果想要和國外工作機會接軌的話,麻煩參考一下這段。

在初步的 Email 往來後(約十幾封 xD),就和 Nick 約了某天去士林吃夜市。我覺得對他們來說,實體接觸似乎是一個必要的過程,它提供一個無壓力的環境介紹(推銷)他們想要做的事情給你,也會從中和你聊許多有的沒的事情,從技術、工作、玩樂一直到生活層面都有。簡單來說,我覺得 Nick 這個人給我的感覺是除了找員工之外,還多了一種交朋友的味道在裡面,你唯一要特別注意的事情就是用英文坦住 4 個小時以上,並且試著用各種方法騙他們吃一些奇怪的東西像是「豬血糕」、「臭豆腐」或是「皮蛋」就可以了 XDD

不過說真的,我們約出來的次數應該有超過 2 ~ 3 次以上,而且每次的時間也都頗長,畢竟對一個 Startup 來說時間還有資源怎麼樣都是比大公司還受限呀,所以多花一點點時間找到對的人相對就重要許多了,那過程相對耗時也就可以理解了。如果硬要算的話,我覺得在這些過程上所花的時間真的比我過去面試(也才兩間而已是在大聲什麼 )過的公司還長許多呀。

遊牧的生活

vectr-2

終於來到這篇的重點「遊牧生活」了!

對我來說,我覺得如果沒有經過第一份工作離職後那短暫 3 ~ 5 個月和室友在家自己寫程式的時候,我想遊牧的生活對我來說是一件非常困難的事情吧!還記得那個時候的我們對於離職自己創業(玩耍)有著一些憧憬,剛好前後我們都遇到了跳潮的時候,就順理成章的在家自己開著電腦工作。

那幾個月是一年中最熱的時候,而我們每天都在悶熱的頂樓加蓋中幻想著不存在的未來。雖然我們沒有錢、沒有可以賺錢的想法什麼都沒有,但每天我們還是很樂天的朝著自己夢想中的方向前進。

不過想也知道這怎麼可能賺錢,到後面其實都是在用自己的老本來付房租還有生活費,存款也不知不覺中快見底了,而最後也不得不去接一些 Case 來試著養活自己,步調也就從此亂掉了。不過事後想想,我覺得這些事情都不是最難的,最難的事情其實是維持「規律的生活」還有「自制力」。而很剛好我們就是沒有自制力的那兩位,很常每天都睡到中午、想做事的時候就做事、想睡到的時候就睡覺,生活和工作再也此分不開來。而當然爾,最後這場鬧劇也就不了了之,我和我室友也各自另尋出路去了新公司工作了。

所以,有了過去的慘痛經驗,我對於第二次的遊牧生活就有許多心理建設了,要用和上班族的態度一樣有正常的上下班生活,每天盡量十二點附近睡覺、早上九點起床開始一天的工作,然後六點多之後則是回歸自己的生活。切記,適當的把工作和生活是數位遊牧民族很重要的一件事情呀!

回到數位遊牧本身,我覺得這個工作帶來最大的好處就是「健康」還有「有更多的彈性去體驗這個世界」,以健康來說,我幾乎每兩天就會跑去游泳或是在家簡單的做一些運動。以前七點下班,搭車到家已經八點、吃完飯都九點了,還來其他的時間去運動,雖然還是會盡量播空逼自己先運動再吃飯,不過運動完後吃飯的時間也都九點多了,其實也沒有多健康就是了呀,囧。

而另一個好處就是關於彈性這件事情,因為大家都是遠端在自己的工作環境工作(家、咖啡廳…),所以大家並沒有很在意你人現在有沒有乖乖的待在座位上,只要個人負責的部分有所進度就夠了。因此很多時候,在快接近下班時間或是有點腦部缺氧的時候,我就會拿著我的游泳包去附近的泳池游個泳,因為通常很多時候坐在那邊也沒什麼意義,頂多就是繼續卡關而已呀!但是如果是在辦公室,有時候還是會很在意所謂的「下班時間」,沒有到那個時間之前離開的話都像是犯了淘天大罪一樣,那在這個風氣之下,其實也就很難這麼隨心所欲的說走就走了。

Vectr-ers

vectr-1

由左至右分別是 Nick 、Hychen、Yurenju、Emery 、 EragonJ
(雖然當時 Nick 人在國外,但我們還是請朋友硬是把他 Vectr-ed 進來 XDD)

(這篇文寫太長了,快轉鍵給他七略!)最後,我就告別 Mozilla(謝謝你們!)來到 Vectr 啦 😛 其實這也小小的圓了我想在外國工作的夢想呀(不是人在台灣嗎!)。以前雖然是在 Mozilla ,但是其實在台灣的人也都還是台灣人,說衝擊嗎其實也沒有很大的感覺,大家都是在網路上打打字、留留言比較多,也沒有什麼實際一起共事的機會。不過來到 Vect 就不太一樣了,也才只有五個人而且要打理所有大小事(還好我只要刷我家的馬桶就好),再加上我們每週定期有一次實體會議,所以其實大家接觸的時間真的蠻長的。而每次只要大家聚在一起的時候,我們三個台灣代表都要開啟全英文模式至少 4+ 小時以上,通常要一直到最後大家都元氣耗盡了才會結束 XDD 真的是一種很特別的體驗呀!

在這邊有很多新的東西可以學,也有很多機會和不同的人一起工作。對我來說,跳出自己的舒適圈只是第一步,數位遊牧生活也才剛開始而已,未來會怎麼走我也不知道,其他的就留到下一篇再說吧 😛

[Memo] 兩年之後

Image Credit

two-years-later

時間過的超快,2015 年的七月也過了一半了,在離開 Mozilla Taiwan 半個月後,覺得要好好寫一篇文章記錄這段兩年的旅程。

還記得兩年前,在剛離開前前公司 Trend Micro 後(現在 Mozilla 已經變成前公司了 xDD),再次陷入了找工作的轟炸期,當時還特別寫了一篇文章記錄那幾個月的心境還有過程,在經過各大公司、團隊的連環面試後,意外的拿到很多間公司給的 offer,其中最感謝的就是讓我來到 Mozilla 的主管 – Timdream,沒有因為我只有 10 個月短短的經歷就刷掉我,讓我加入這個大家庭和每位強者同事學習很多東西,除了技術上的成長之外,也因為公司是跨國的公司,所以很多時候要和外國人還有自己 team 的人一起討論事情,雖然英文還是有待加強,不過也讓我在團隊合作這件事情上面學了很多呀。

在 Mozilla 的這段時間,去了很多國家、城市, 最讓我印象深刻的就是在剛進去的時候,剛好遇到三年(還兩年)一次的 Summit 大會,第一次看到規模如此大的會議(全世界的 Mozilla 員工還有 Contributors)、第一次去了美國的 Portland、第一次和同事出國旅遊。這次的會議真的讓我感受到西方國家的人對於工作還有生活的態度,雖然工作重要,但是工作後的玩樂還有 party 也是不能少的,該放鬆的時候就一定要放鬆,玩的比大家都還要 High 呀。

portland-1

portland-2

portland-3

從 Summit 回來之後不知道過了多久,因為職務調動的關係就被分配到 Settings App team,這個 team 主要就是由人生勝利組的學長 Arthur 帶著其他人一起守住 FxOS 裡面的 Settings app(就是大家手機裡面的「設定」),不得不說這個 app 真的是包山包海包了又包包了再包,有一大堆和電信業者之間的通訊問題要處理、有一大家和系統之間的複雜互動還有一堆各 app 都要進來插一些自己的客製化設定,真的是一個不得小覷的 app!

在這個 team 裡,真的要特別感謝 Arthur、Ian 還有 Fred。感謝 Arthur 教我很多程式設計的一些眉眉角角,我永遠都會記得 Data / UI 分離這個準則的 xD。感謝 Ian 在 Settings app 裡藍芽的貢獻,如果沒有你擋下這些東西我們就屎定了 xD。感謝 Fred 和我一起處理很多 FxOS Tablet 的問題,當時 tune CSS 真的 tune 的很想死。到底是哪個____把 CSS rule 寫這麼死的啦 xD

也因為這個 team,在 FxOS 1.3 -> FxOS 1.4 workweek 的時候,我和 Arthur 一起和國外飛來的同事處理了很多 DSDS 的問題(就是所謂的雙卡雙待),而那是我唯一一次在 Mozilla 辦公室待到超過 11 點的時候,雖然那個時候很累,不過有這些戰友撐過那一週也是一個很特別的體驗!如果沒有這個 workweek,我也沒有機會去 101 頂樓看整片台北市的夜景(雖然裡面的商店都在賣高價商品給陸客有點煩人之外其他都算不錯),真的,很美。

101

之後,和整個 Gaia team 的大家也變得比較熟了,每一季大家都會舉辦 Team Building 出去某個地方玩一整天,大家一起打過桌遊、打過保齡球、玩過密室逃脫、去過淡水、去挑戰過熱血的抱石活動、去日月潭一起環湖騎腳踏車,好多有趣的事情都在這兩年內發生過,我還記得當時的宮博說過一句話,大意是說「在一些日子之後,最讓你印象深刻的不會是在這間公司工作過了什麼、做了哪些事情。反之,是那些曾經一起工作的人、那些回憶,才會讓你永藏於心」。

兩年之後,我覺得這句話說的真的很有道理,以前曾經去過的那些地方、那些景點都不會有太大的改變,變的是陪你再次來到這裡的人。不過想想,如果沒有前前公司的結束,也就不會有前公司的開始,也就不會有這些精彩的回憶了吧?我們不也是這樣從國小、國中、高中到大學這樣走來的嗎?

兩年之後,很高興認識了你們,謝謝你們給我這個機會參與這一段回憶與歷史,中間也許難免有好、有壞、有淚水、有歡笑,不過這也是人生之所以稱作人生的原因不是嗎?

下一段旅程即將開始,
謝謝你們,在兩年之後。

Special thanks to : Ricky, Gary, Greg, Arthur, Evan, Dominic, George, Ian, Rudy, Steve, Jessica, Sylvia, HsinYi, popochess, Yang-Jhu, Tim, Evelyn, Yuren, Edgar, Fred, Alive, Bella, Fang, Carol, Rex, Tzu-Lin, Luke, Clarice, Paul, Peko, Kate, Michelle … etc.

team3

team4

team1

team2

[Memo] After being a Mozillan for one month

 Image Credit

( Summit 2013 at Santa Clara, 點原圖來找找看我在哪裡)

Amazing Place

懶骨頭、Aeron 椅、Mac 系列、歡樂的 MozSpace、天天取之不盡的下午茶大軍(也要看菜單,通常全麥麵包配葡萄乾都我在吃 xD)、永遠不會空的冰箱 … 等,這些基本公司福利就不提了,這對於每天瘋狂用腦寫程式的工程師來說,真的是一種救贖。有的時候在位子上待累了就會和同事跑去坐在 MozSpace 的高腳椅上面,轉換心情再出發!

(因為找不到 4F 的照片,拿 5F 的來充當一下 xD)

Large Scale Software Development

台灣區主要是負責 Firefox OS (又稱 FxOS)的開發,但是這個專案不只是台灣區的員工在開發,是全世界的人都可以一起開發貢獻的,而我之前說實在的沒有很多這種大型開發的經驗,最多也才 2 ~ 3 人同時開發而已,連 Conflicts 都很少看到 … 所以在這邊我學習到了如何數百人同時開發一個 Project on Github,這當然也有很多額外衍生出來的 Policy 要遵守,像是:

1. One PR must be accompanied by a bug on bugzilla
2. Squash commits into one commit in a PR
3. Add a bunch of Unit Tests

除此之外,因為專案太大,所以我們是 by App (就是手機上的那個 App 沒錯)來開發,而每個 App 都會有幾個它專屬的 Owner 及 Peer ,這些人通常都是該 App 的主要開發者或是維護者,也是最了解該 App 程式碼的人。通常,你的 Bugfix 要 land 之前,都必需經過這些人來 Review,只有通過 Review (就是 r+)的程式碼才有資格被 land 進去我們的專案裡面。

不過我覺得這邊也有一點缺點,通常就是 Review 的量和 Reviewer 不成比例,很常看到 Reviewer 們一邊要解很多 must-be-fixed bug 還要應付從世界各地如雪花般飛來的 Review Request,所以通常整個 Review 的流程會被拖的很長,不過這也是為了要維持 App 程式碼一致性的犧牲吧。

Summit 2013 In Santa Clara

身為 Mozillian 最酷的一件事情就是可以參加 Summit !!(其實不只 Summit,還有很多機會要到處飛來飛去 Cowork XD)這次的 Summit 真的是讓我印象深刻,而最深刻的莫過於那屬於 Mozilla 自己的文化。我們 Open Source、我們到處推廣、我們做很酷的東西同時我們也一直改變著世界。

在 Summit 裡,你可以看到很多人都是 Volunteer ,也有很多人都是學生或是非資訊領域的人。而把我們聚在一起的,就是這種 Mozilla 的文化,在這裡人人平等,不論種族膚色,我們都是一群人,一群推動著世界前進的人。這邊最特別的就是他們會用很多 Group Discussion 的方式來進行活動,你會發現通常都是亞洲人比較不敢發言(我也是 …),但是

這次大會的活動中可以看到很多正在實驗中或是還不能對外正式公佈的專案,當中讓我印象最深刻的有以下幾個:

1. Shumway – a Flash VM and runtime written in JavaScript
2. OpenBadge – A online service that you can collect your certificated badges
3. Together.js – A service for your website that makes it surprisingly easy to collaborate in real-time

他們實際的作用就如後面的說明文字一樣,如果有興趣就點進去了解更多細節吧 xD 這篇不是技術文,ahaha

感想

真的要說感想好像也不太對,這應該比較算是一種體悟吧。雖然我大學時期接觸很多社群活動,但是多是技術性質的,而 Mozilla 散發出來的感覺卻不太一樣,就算你不是 Developer,你也是可以一起加入大家,一起做點什麼。如果你是學生,那你也可以以校園大使的身份加入 Mozilla,把打 LOL 或是魔獸的時間省下來多做點有意義的事情,你會發現其實人生真的多了很多空間與方向。

我覺得就算哪天我不在 Mozilla 工作了,它的精神也將永遠伴隨於心。期待在商業利益掛帥的現實社會中,你、我都能夠闖出一片清流,用自己的雙手及行動力去改變些什麼,哪怕只是一個文字、一個程式甚至是一場參與,你會發現,慢慢地世界就開始被我們改變著,朝著我們心中的烏拖邦前進。

[Memo] Dream bigger, because you deserve it indeed

Image Credit

前言

這一篇文章,我已經構思許久,打從辭職後我就開始記錄我的心境轉折還有遇到的所有事情。四個月過去了(這篇文章是寫於 2013/8/21,而我辭職的時間是 2013/4/19,剛好滿四個月),我也依照著我自己心中的想法走到這一步,也才有這篇文章的出現,就讓我和大家分享這四個月我學到的東西吧。

很多人不了解,為什麼我會從人人稱羨的 T 公司離開,其中工作經歷還只有短短的十個月。有兩個原因,第一個原因是我在幾個月前就安排了一個為期七天的長假,和我當兵的好朋友書玄一起去菲律賓體驗 Couchsurfing 的文化,而 4/19 的半夜就是我們出發的那一天。第二個原因是,因為上層的改組決定,讓原本一起工作的團隊被迫中止,打散所有人到各個部門去。雖然我的 Manager R 真的很賞視我,但是因為工作的性質和我未來規劃(及個人專長)有所落差,所以最後就因為這兩個原因離開了 T 公司。也許真的很可惜,但是人生就是這樣充滿轉折吧?而我的人生,也是因為這一次勇敢的辭職,有了改變。

原來,我喜歡旅行

在 Manila 的那七天,我和 Kobe 認識了很多到很好的菲律賓朋友,我們一起 Couchsurfing,一起和整個 Manila 的 CS 社群租下整台 Jeepney 去玩傳說中的 Pagsanjan Fall,一起誤打誤撞跑到了高山 Mt. Ping-as(下圖),一起去體驗當地的夜店,一起在整個只有我們兩個台灣人的體育館內打羽毛球,一起去 Taal Volcano 看那奇妙的火山地形,一起去看那永生難忘的 Manila Bay 的日落。

好多好多的旅行衝擊,讓我找到失去興趣的自我(寫程式原本是我的興趣,但是在變成工作之後就漸漸消逝了)。原來,「旅行」是一件我很喜歡做的事情,而它可以衍生成為我的一個興趣,讓我在下班(寫程式)之餘調劑身心,成為我生活的另一個重心。

從菲律賓回來之後,旅行這件事又衍生出一個名為 TwoBackSurfers 的團隊,就是我、書玄還有翔 Sir 三個人的小小團隊,我們開始到處去旅行,還花了七天以 Couchsurfing 的方式去環島,除此之外也開始做我們自己的衣服、自己的吊牌、自己的網站、自己的影片甚至是經營自己的 Facebook Page。很多人曾問過我「為什麼你要做這麼多吃力不討好的事情」,但我總是笑笑的沒有回答,因為我也不知道為什麼,但是我打從心底卻認為這是一件我由衷想做而且必需去做的事情。

「原來,我喜歡旅行,如此而已。」

創業?真的不是這麼簡單

而工作方面,我才知道,原來所謂的「辭職創業」,不是簡簡單單一兩個人當口號用喊的,而是要真的下去做過一些明確的市場調查,而且真的要有短期斷糧的決心才可以,我當時就是抱著一種嘗試的心態在做這件事情,才了解到原來現實世界和你想的根本就不一樣。你每天最擔心的問題就是「今天有沒有錢吃飯」,然後還要承受少數親朋好友給你的無形壓力,而這些真的都是壓死人的稻草。

我這個時候才知道身邊的那些創業朋友是以多大的壓力在生活(應該無法想像),也了解到自己在做這個決定時沒有思考清楚的問題。

雖然最後我們放棄了,但是未來,也許是幾年、幾十年後,當我有足夠的人脈、有足夠的錢不怕短時間內斷糧並且還有一個可行計畫的話,我還是會再試一次,再從轟轟烈烈的戰場中學到更多的事物吧。(我很建議大家去看猴子靈藥在書中討論「辭職創業」的這件事情,特別是打算要「辭職創業」的人,我就是看了然後不信邪,硬是要自己走一次證明他的論點讓自己痛過才學到教訓)

轉機?

之後,我剛好有機會和台灣的天才級駭客 C 一起遠端共事,雖然工作是以接案類型為主,但是因為裡面有許多跨國的案子,所以多了很多機會要自己和外國人透過信件溝通,這時,我才了解到在大公司的我,已經開始習慣說一做一的部隊化管理,所以很多時候不懂得變通,其中有幾次還造成 C 的困擾,但還是很感謝他願意花時間教我,讓我不止在技術上,甚至是溝通、時程規劃之外的事情上有所成長。

「雖然,我離他們的世界還很遠,但是至少我有這個機會在他們的背後跟著,一起朝著下一個未知的世界前進,也早已讓我心存感激了。」

可惜的是,C 也認為我這樣子以 part-time 的方式工作很難養活自己,因此他建議我該是時候考慮一下去尋找下一份穩定的工作,先讓自己免於斷糧危機才能夠有更多的空間與時間來做自己想做的事情。我想了想也覺得合理,所以我認為該是開始思考尋找下一份工作這件事情了。

面試

就在七月環島完後,我覺得差不多是時候開始投履歷了,因為唯有穩定的工作才能維持我到處旅行的計畫,也才能生存下去。所以七月中開始我就在求職網站上面尋找所有有關「前端工程師」的工作機會,而依面試順序最後統整出六間公司的一些資訊,希望能幫助到有需要的朋友(如果看不懂就直接跳過吧,這邊都是技術的東西)

1. Richi – Web Developer

 

通常大家都知道有這間公司的存在,但是卻不知道他們在做什麼,他們目前最知名的服務就是線上的紅利點數交換平台,不過他們最近開始要發展新型態的業務,但為了達到這個目標所以會需要異業合作,而前端工程師會需要花 40% 的心力維護平台,然後花 60% 的心力來因應不同的業務需求來客製化網站或是平台,並且是以小型編制的方式來和不同的人員合作。

就技術面來說,因為面試我的技術主管是從 Y! 公司來的,所以在前端的領域著墨很深,很多問題我覺得都問到了「點」上,因此如果是以學習成長空間為考量,因為這邊的人都是之前待過 T、Y!  … 等許多大公司,所以他們也有很多東西可以讓你挖,整體來說是可以學到很多的。而我也覺得他們接下來要發展的新型態業務是非常具有潛力的,就長遠來看是一件相當值得投資看看的公司。

結果:得到 Offer 。

2. iNDIEVOX – Software Engineer

 

有在玩音樂的人都知道 iNDIEVOX 專攻的是音樂電子商務的領域,辦公環境也相當特別,會讓你有一種身處在咖啡廳的錯覺,到處都是音樂相關的唱片、海報還有相關產品。福利就是和一般的公司一樣依勞基法規定,除此之外就是很多時候會拿到很多和廠商合作的公關票,所以對於喜歡音樂的人來說這真的是一個很好的環境。而面試雖然和主管討論了很多有關於前端的問題,但是因為他們的職位比較需要的是專注在後端的人,所以最後我的資料就被 bypass 到友站「streetvoice」,這一部份我之後會再詳談。

結果:因為和他們要的人不太一樣,所以被轉介到友站 Streetvoice。

3. Vpon – Frontend Engineer

 

因為以前在 T 公司的時候就看我們的神手 iOS 工程師 I 分享過 Vpon 他們廣告平台的一些資料,所以對於他們公司有一定初步的了解了,才想去應徵,同時想看看這間公司到底是怎麼樣的一個公司。我不得不直說,可能是因為他們對於我的學經歷有一定的認同,所以這是唯一一間沒問我任何技術問題的公司。

這間公司專注在行動廣告投遞,每天處理的訊息量只能用驚人來形容,而他們要尋找的是一位可以帶顉前端團隊的 Leader,並打造下一代的行動廣告投遞平台。說實在的我對於這個機會相當感到興趣,因為平時很少有機會可以接觸到大量資料。除此之外,這個職位也相當具有挑戰性,可以自己設計一個全新的平台及供開發者使用者 3rd libraries。

雖然如此,但公司認為我到職的可能性比較低,除非我確定會到職才會和我談更多細節並發佈正式的錄取通知。但對我來說,交通真的是一個很大的問題,文湖線和我住的地方相差甚遠。而我幾年前也曾經體驗過那人擠人的忠孝復興轉車惡夢,所以就決定放棄這個機會了。

結果:有拿到口頭 Offer ,但是因為交通的關係所以我最後放棄了。

4. FlipTop – Frontend Engineer

 

這是一間專注在分析大量社交資料的美商公司,而我有一位曾經一起合作過的 W 學長在裡面工作,所以當我在 PTT 得知他們要徵前端工程師的資訊時其實我還蠻開心的,一來是因為美商福利很好(可以參考他們的官方網站)、二來是我對於分析社交資料這件事情相當感興趣。但和公司聯絡上之後其實讓我有點失望,雖然他們開出來的職位是前端工程師,實際上面試的過程卻都是專注在後端及演算法的部份。

可能是因為 FlipTop 的系統是用 Scala 打造出來的,所以前端和後端的部份結合的有點密切,因此就算是前端工程師也要了解如何使用 Scala Lift。我覺得這是可以理解的,畢竟這是由整間公司所選擇的解決方案,只是以現階段的我來說,(Scala)能力就會和他們預期的人有所落差,雖然我用簡單的方式實作出來一個 workable 的平台,但是似乎和他們想要的不太一樣,被要求在 Performance 上面要有所成長。之後我就覺得,公司的「前端工程師」和我想像中的「前端工程師」有點落差,所以我就和他們說明我的決定後中止了接下來的測驗。

結果:提前結束前測就沒有後續了。

5. Streetvoice – Frontend Engineer

 

還記得前面我說到,我的資料被 iNDIEVOX bypass 給 Streetvoice 嗎 ?這是因為, Streetvoice 和 iNDIEVOX 的投資者都是中子集團,所以他們的辦公室是在同一個地方,不同區塊罷了。在業務上面,Streetvoice 和 iNDIEVOX 的不同點在於,他們主要發展的是獨立音樂的社交平台,因此整個網站的開發有很大的一部份是專注在這個平台上面。

而和他們的技術長聊天後發現,他們的團隊給予開發者很大的自由,在這邊大家可以玩新的技術並實作在新的產品上也可以一起腦力激盪來實作一些有趣的小 Project,相對於一成不變的工作環境來說,是有比較大的彈性的。

我想可能是因為我在 iNDIEVOX 已經被他們的技術長面試技術一輪的關係,所以 Streetvoice 的技術長也完全沒有問我任何技術的問題,可能覺得再多問一次很花時間,所以我們都把時間拿來討論公司未來的發展等等。

結果:聊完天的當下就直接得到口頭 Offer,並在數天後收到他們寄來的 Offer letter。

6. Mozilla – Frontend Enginner

 

對於前端工程師來說,Mozilla 這間公司是沒有人不知道的。大家都知道 Mozilla 基金會對於推動網頁標準這件事情不遺餘力,而其下產品 Firefox 更是改變 Web 的重要推手之一。其實我覺得真的是蠻幸運的,一來是因為剛好 Mozilla 為了要開發  Firefox OS 所以正在到處尋找人才,二來是因為我的 Resume 並沒有因為只有十個月短短的資歷而被刷掉,所以才有機會進行接下來的前測。

首先我真的要說,我覺得 Mozilla 的前測真的很有水準,因為題目是要求我要在一個星期內用 Native API (不能用 jQuery 等第三方 libraries )實作出一個 Autocomplete 的 plugin。剛好我很久以前就想做 Autocomplete 很久了,這次就順水推舟來實做一個自己的 plugin 吧。

在實作的過程中我才發現到,原來我們是多麼的依賴那些 libraries,光是 toggleClass / addClass / removeClass 這幾個極度常用的 function 都要自己先實作出來才有辦法繼續做下去,除此之外,還要自己去實作 ajax / getJSON 等 function 來溝通存取資料,這真的是要親自下手才知道原來這些 libraries 是多麼的偉大,處理掉這麼多繁雜的事情才能讓我們這些開發者以如此便利的方式操作元件,並專注在自己的 business logic 之上。最後,我也順利的通過所有面試。

結果:在最終面試結束後的隔天中午接到電話錄取通知。

最後

這四個月來,有許多不為人知的心酸,有苦、有累、有歡笑、也有淚水,但很開心的是我身邊還有這麼多人支持著我,如果沒有大家,就不會有今天的這篇文章,也不會有今天的我了。

知道為什麼我把文章的標題下為「Dream bigger, because you deserve it indeed」嗎?因為我總是覺得,不論當下的事情是好是壞,對未來的自己一定都是一個轉機。而年輕的我們,千萬不要忘記作夢的能力,也不要把自己的夢做小了,通常,如果那件事真的是你朝思暮想的夢,很有可能,你已經具有一定的能力去實現他,只是你自己不知道而已,放手勇敢去做吧。

不要害怕去嘗試,怕的應該是沒去嘗試的自己,如果當時辭職後沒有經前同事 L 學長提醒,我也不敢主動去嘗試那些人們眼中遙不可及的公司,也就沒有這麼多有趣的面試故事可以分享了,真的很感謝他。

即使未來人生的路上到處充滿著未知與挑戰,但至少我發現,我已經一步步朝著我高中時既定的目標在前進了,無愧於心,這樣也就夠了吧?

最後,我只想說一聲,

「謝謝你們。」

-moz-eragonj: true;

[Memo] GCST – The End

Image Credit

前幾天才剛參加了高中從來都沒辦過的同學會,誰也沒想到,把所有高中同學聚在一起的動機,竟然是因為大學畢業,在外地的同學才因此回到台北相聚。

真的很難想像,原本是在成功高中上課的白木高中生,卻在一眨眼間從成功大學畢業了。還記得在考完指考的那個暑假,當我一得知考上成大航太的那一刻,我就決定要轉系了,但誰也沒想到這個決定卻會影響日後的我這麼多(我還留著當時的志願序咧)。

其實我的大一也不是說過的這麼悽慘,不過也稱不上多有趣就是了,系上的大活動好像只有參加過一場和外系的迎新還有一次的夜遊看流星,其他的就都沒什麼記憶了。如果你問我平常在幹嘛,我還真的想不太起來,因為大一的課很雜,一個禮拜有二十幾堂課,而為了拼校內轉,所以很拼,我大學四年在總圖待最久的時間大概就是在大一的時候了吧 … 不過也因此在成大拿到了一個書卷獎還有微積分獎,算是很值得啦(我轉系之後就再也沒拿過了 XD)。

其實我已經忘記大部份航太系同學的名字了。在大一的時候,我住在光二而且是和工設系的同學一起合住的,所以講真的,我工設系認識的朋友真的比航太系多很多,之前也才剛參加完他們的畢業感性時間咧 QQ。

而因為大一的努力,讓我成功的完成高中時的夢想,轉到了資訊系。而現在回想起來,這真的是我大學四年做過最正確的決定…

Continue reading “[Memo] GCST – The End”

[Memo] Life should be simple with Simple Theory

[youtube http://www.youtube.com/watch?v=Jd-4yjUS4Oo&w=640&h=390]

In these few days, I always want to do something but can’t do anything. At first, this kind of situation confuses me a lot indeed, because I can’t realize that this kind of situation will happen at me one day. Then, I got tired of everything … That’s right “EVERYTHING”.

I don’t know how to do ( save me from this kind of shit ) or to say specifically – what to do. I struggle to do anything but failed .. Until few days ago, I came back to my university and kept hanging out with friends. We went out to find some encouraging books like “Delivering Happiness: A Path to Profits, Passion, and Purpose” written by 謝家華 – CEO of Zappos … etc.

After reading, enjoying delicious food and hanging out with friends, I got a simple conclusion called Simple Theory. In nowadays, people live too hard to experience amazing things around in our daily life. We only take care of high-tech, functional smart phones, and blah blah. Because you are involved inside, you can’t even look clear what you are doing right away !

Take my old brother for example, few weeks ago, he just bought an HTC from his friend with nice discount, and he also paid for unlimited internet access monthly with extra 900 NTD. After observing him for few weeks, I notice that he has spent more than 4 – 6 hours on his mobile, even when he is lying on the bed but got to work early in the next morning !!

I keep thinking, why our life is becoming so complex? why there are so many people died just because they only work, work and work !? why there are so many problems raised just because we keep using So-called “social” Network Service ( That’s my definition about SNS ) !?

[youtube http://www.youtube.com/watch?v=8UouP8cRYZ8&w=640&h=390]

Life should be simple, isn’t it ? smart phone is for convenience instead of playing nonsense apps isn’t it ? SNS is for people who want to communicate with friends far away from you instead of posting nonsense and playing unproductive “FarmVille” isn’t it !? They were really nice and useful originally but got misused nowadays and made them and our lives so complex.

To be honest, I have no rights to say that I am the only person not involved in the above situations, because I am still using my laptop to post this article and share you some informations from SNS. Even though, I have reduced my time spending on SNS and stayed away from IM for few days, and I think I can keep the rules and make my life better.

Remember, life is really short and simple, do something meaningful and focus on the other things that you have never experienced and enjoy.

Simple Happiness, Simple Enjoyment and Simple Life, that’s my own Simple Theory.

[Memo] 6lurk part – FInal

Youtube 上的 6lurk 展示影片

終於,我們的專題展在大家的讚美之下落幕了。

這一年來,真的是很感謝大家不離不棄,感謝噗浪團隊的參與、感謝(資訊…blah)好友們的加油打氣、感謝盧文祥老師實驗室的學長姐及設備支援、感謝所有曾經幫助過我們的人。

null

我們這一次算是為成大資訊系做了一件大事,也為我們當初給 Alvin 的承諾打造了實現的舞台,也許我們的專題並沒有做到盡善盡美,但是我們還是拼到最後一天,把我們心中的藍圖都實作出來,把最完美的一面表現給大家了。

這大概是我這大學四年來過的最有意義的一天了,即使前一天還在做 Demo 影片做到半夜兩點多,但是在看到 The A-team 的時候一切都值得了。因為 Amir 只聽的懂英文,所以我也充當了一整天的翻譯,真是把我拉回了在德州生活的時候,整個就是超懷念那段日子的。

雖然背後的苦與累是沒人知道的,不過至少一想到這次的經驗是永恆且難忘的,就什麼都值得了。我現在都還無法想像專題展已經過了兩天了,整個人都還是沉浸在那一天的回憶裡,久久無法忘懷。希望以後的我能以這次的經驗為基石,去開拓下一片疆山。

最後當然是要感謝我的戰友們,如果沒有你們就不會有今天的 6lurk ,感謝你們。

δ 接下來我們會開始整理程式碼,如果順利的話應該可以在幾個月後讓整個服務上線!請大家勢目以待。

[Memo] 6lurk part – Pain

其實在做這整個專題的時候,我的壓力是非常大的,一邊要應付上面(和老師溝通、和 Yahoo 溝通、邀請 Plurk 團隊、報國科會…等)另一邊面還要催進度和組員溝通,同時自己又要負責寫整個專題的大架構以及另一位同學的子專題(雖然這部分我只花幾天就把他的東西做完了XD),說實在真的是只能用「累」來形容(我自己都不知道我這段日子是怎麼撐過來的,只知道消瘦了許多QQ)。

不過也因為後來壓力太大,我就開始把東西分給隊友做了XD,我覺得應該是我當初的那句話有刺激到隊友吧(我:「如果別人問你專題讓你學到什麼,那你會怎麼回答那個人呢?」 他:「…」),殊不知這其實是激將法進階用法,可以讓隊友心服口服的主動下海去做事,雖然那個時候他一定會覺得我很機車,不過至少從結果來看的話,這個專題才能夠有一個真正屬於他自己的東西吧。

雖然另外一位同學是身在曹營心在漢,人在資工想讀醫的典範,不過我還是要跨刀去做他專題的部分,雖然剛開始我們都很不能理解為什麼不好好了解一下「資訊」呢?甚至是在中途也發生了一個還蠻嚴重的衝突,不過還好這些風風雨雨都過去了。現在事後想想其實我還蠻釋懷的,因為他的關係,我不得不下海去了解last.fm API、Gdata API、Youtube API…等東西,然後試著把它們整合起來。其實專題做到最後面的時候,這一塊反而是我比較有興趣的,自己寫自己的播放器,整合last.fm API實作出自己的播放清單,第一次處理 window messaging 的問題(雖然最後還是靠很髒的 global variable…),真的學到很多,也很感謝他們讓我有這個學習的機會。

不過雖然如此,我就盡量安排一些比較煩心的事情請這位同學幫忙,至少我就不用再多操心這些額外的事情而且他也能為我們整個專題多付出一些貢獻,這樣我就很欣慰了。所以從他們兩個身上讓我學到了管理層的困難面,才不是什麼 Oral Programming 就可以打發了事的咧…因為真的,這個世界上最麻煩的是「人」,而不是做事情或是寫程式。所以也讓我從另一個角度思考,能夠盡量準時完成上層 assign 的事物其實對他們來說就是一種回報了,不要再讓他們操心更多事情而打亂了他們原本的步調,因為你要煩的事情「絕對沒有他們多」。

最後,很快的就來到了2010年的最後一天了,而 2011/01/07 就是專題的決戰時刻了,我們已經進入最後測試微調的部分了,也已經準備好了,那…

「Plurk 你們準備好了嗎?」

[Memo] 6lurk part – musicAnalysis

最近專題已經到了最後階段了,儘管如此,一天的工作量還是來到了12個小時左右。不過最令人開心的莫過於花兩天密集的Hacking把音樂回饋機制給實作出來了,說實在的自己自從暑假經歷兩個月的前端洗禮之後,至少變得比較了解「一點點」Javascript及jQuery了,也比較有能力可以做出符合自己期望的東西。

第一次用 javascript+Youtube javascript API + jQuery做出一個音樂播放器,而基本的輪播、單曲重播、上下曲切換…等功能都有了,只是歌曲的部分是我們分析使用者在Plurk上面的情緒後(星期一到星期日),利用自訂好的類別搭配 last.fm API 來得到該類別下當紅流行的top20首歌曲資訊,然後我們再從Youtube上面抓到最相關(因為它們串流檔這麼多,所以我們只找最相關的那一個)的影音串流回來,最後組成我們播放的卡帶,就可以任君挑選啦!

也許大家會覺得這種類型的網站不是很多嗎?那我們為什麼還要再做一個類似的應用?當然是有原因的,因為並沒有一個網站(可能是我不知道),會依照他的用戶提供量身訂做的音樂,而我們一來使用最接近使用者的社交資料來當做分析的來源,二來是利用一些統計上的分類來把我們量化過的分數幫使用者做一個情緒上的分類並提供相關的歌曲,如此一來當然能夠給予使用者最貼近當下情緒的音樂啦。

而我們團員自行測試後發現,其實我們自己都有類似的需求,因為時常都不知道要聽什麼歌,只是希望能夠像聽廣播一樣打開就可以聽到歌,然後不想聽的時候關掉就好,是一種心境上的自由,也不要有太大的負擔,這樣子不是很好嗎?在這邊我要和大家介紹一個啟發我很大的網站StreamDrag,它也是一個利用Youtube為資料來源的音樂播放網站,它有一個很棒的哲學(Philosophy),也很貼近我們設計的理念,在這邊引用這段話來為整篇文章做個結語。

Music amazes, music creates emotions and music pushes emotions.Music is the language of the world and thats why it should be available wherever you are. Therefore our biggest aim is to make music available wherever it is possible as simple as possible and to create new, innovative ways of listening.