Jasonmel Online

Jasonmel Blog - Page 46

PM

2014/07/03 (Thu.)

PM 一般可以代表 Project Manager 或是 Product Manager,在 Yahoo 則有個角色叫做 Program Manager。

之所以會注意到這個角色,是因為原本手頭上的事情由於某些「人」的因素常常原地踏步。事情處於打帶跑邊做邊計劃的情況下,有些「人」容易落入想到什麼做什麼,做完了什麼又臨時想到什麼,然後又去做什麼的無窮發散無窮迴圈。然而在 Program Manager 進來橋之後,事情就開始動了起來,未免也太神奇。怎麼辦到的呢?江湖一點訣,說穿了不值錢,主要也就請大家花點時間把整件事分成數十個細項,把每個細項的相依性、預估開始結束時間、主要負責人列在後面,然後每天追大家的進度這樣。遇到卡關,像是某些聯絡窗口不鳥你,Program Manager 會用盡各種辦法去讓他鳥你;某些重大決定遲遲無法定案,Program Manager 會逼關鍵人物趕快定案讓事情可以繼續進行下去。看似沒什麼,但身為一個遊俠,Program Manager 遊走於不同專案之間,即使只是追追進度,嚇唬嚇唬卡關的人,也得對每個專案有基本的認知,才有立場去排除案子的障礙,讓事情順利進行。

其實有點類似前公司的 JM (Project Manager) 的味道,只不過可能之前沒遇過卡關卡成這副德性的情形,無從比較使用前和使用後的差別,這回總算是對這個角色有相當深刻的體會了。

回高雄

2014/06/27 (Fri.) - 29 (Sun.)

托邱柏婚禮之福回高雄,也才有機會和媽媽一起第一次去逛義大世界。

義大世界都開這麼久了,身為高雄人竟然拖到這時候才第一次去逛,該檢討檢討了。義大世界都開這麼久了,身為高雄人竟然拖到這時候才第一次去逛,該檢討檢討了。

邱柏婚禮,BJ4!邱柏婚禮,BJ4!

Amazon + Google

2014/06/25 (Wed.)

想想也很久沒參加技術相關的場子,剛好 Amazon AWS Cloud KataGoogle I/O Extended Taipei 在同一天舉行,索性請個假,兩場都衝了。一整天下來,一則以喜一則以憂。喜的是又學到、玩到很多新東西。憂的是關在公司久了,都不知道外面的世界已經進展到這個程度,真令人感到彷徨。

在 AWS Kata,主要獲得兩大震撼。第一是 server 系統層面模組化並且權責切分乾淨這件事(重點在切乾淨),第二是 deployment 方式的改觀。

在建構一個全新的系統時,比較有遠見的做法是每個 component 都各建一個,當系統漸漸不敷使用時,把 component 直接 clone 一份即可。但往往開發時求方便,有時候會有 component 權責不分的情況,例如存了一些需要長久保存的東西在 compute 裡面,問題就來了。如果這時候有兩個 compute,要嘛同樣的東西都必須存在兩個 compute 裡面,要嘛兩個 compute 彼此之間還需要額外的溝通,總之,怎麼做都不太對勁。如果權責切乾淨,長久保存的東西存在 storage 或 DB 裡,就沒這個問題了,compute 要東西就去拉,運算完就把所有記憶都忘記,繼續下一筆工作。話雖如此,現實生活中變數太多,時程壓力、每個人對乾淨程度要求不一、預算上的考量等,切乾淨這件事還是頗不容易就是了。

系統層面模組化示意圖。系統層面模組化示意圖。

關於 deployment 方式,講者舉了一個 Netflix 的例子,真的是有被震撼到。萬萬沒想到 Netflix 竟然是以 machine image 當作 deployment 的單位,要上新 code,就建一個 image,從底層的 OS 到上層的 application 一整包放上去開機,慢慢把流量導過來,然後再把舊的 image 關機下架。這樣的好處是擴充或是系統出狀況的時候超級無敵方便,一個步驟:開 image,done!還有一個外加的好處就是完全不會有 memory leak 的問題,因為平均每個 image 存在時間只有 36 小時,還來不及 leak 就被關掉了。真是高招啊!

三種 deployment 方式說明,震撼的是最左邊的 Netflix 絕招。三種 deployment 方式說明,震撼的是最左邊的 Netflix 絕招。

在 Google I/O Extended,除了第一次進傳說中的 Google 辦公室參觀外,也是第一次玩到傳說中的 Google Glass。實際戴上才發現,Google Glass 需要橋到某個角度才看得到螢幕,稍微歪一點也不行,這是比較小失望的部分。由於後面有人排著想玩,草草下了人生第一句 Google Glass 的指令:"OK! Glass! Take a picture.",就交給下一位了。據說基於法律問題,不開放在場人士拍攝 Google Glass 實機,也就沒辦法記錄自己戴著 Google Glass 的英姿了。

另一個震撼,是 Google BigQuery 這個東西。兼具 Big Data、realtime、SQL 這三個特色,過去頗夯的 MapReduce 竟然已經成為不 realtime 又頂多支援跛腳 SQL 的傳統過去式了。其餘有提到像是 Apps Scripts 之類的小玩具,有空再來玩玩。至於真正的重頭戲 Google I/O 現場直播,由於要趕在捷運收班前搭上車回南港,只好留待之後再看相關報導或是重播影片了。

Google 辦公室夜景及玻璃反射的會議室。Google 辦公室夜景及玻璃反射的會議室。

GitHub

2014/06/11 (Wed.)

放了一些業餘的作品到 github 上,2011 年加入 github 至今,總算是有點東西了。期許自己能多對 open source 有所貢獻。

自動化

2014/06/02 (Mon.)

差不多一個月前,TechOrange 翻譯了一篇前 Google 員工寫的《同工不同酬,年薪 50 萬美金的工程師到底有什麼神本事?Quora 原文)》。當中的比喻除了一語道破資本主義社會的運作,也隱含相當多值得思考的點。

社會上大多數人屬於一類勞工,做著既有的工作,每天大老遠挑水回村裡換得餬口的報償。當少數二類勞工經年累月忍辱負重挖通連結水源和村子的引水道之後,村子挑水工作立即被自動化,並造成一類勞工失業。同時源源不絕的水讓村民能以更低廉的價格購水,利潤則全歸擁有水道的二類勞工。這裡我們可以看到三種不同的結局:苦盡甘來的二類勞工,獨自吸收了原來該屬於眾多一類勞工的報酬(當然可能會有眼紅後進者紛紛仿效,挖掘更多引水道來競爭瓜分市場,這又是另一回事了;而水道挖多了開始破壞地球生態,環保團體開始出來抗議,這又是另一回事了);村民們減輕購水負擔,算是不勞而獲就能享受此科技進步的一群人;最後是無辜的一類勞工,被逼著要離開原本的工作,另尋他路。

這是個有點矛盾的事情。科技帶來的進步,一方面將幾乎是無償地造福全體人類,然而另一方面卻又讓在被革命的產業維持生計的一群人,慘遭被社會淘汰的命運。如果這個社會發展到最後,所有事情都能自動化,所有的財富和資源將集中在自動化系統的擁有者手中,這將會是個非極貧即極富的貧富差距夭壽大狀態。像 WALL-E 那樣,人的一生從出生到死亡,只要躺在椅子上,吃喝拉撒睡都有機器人在旁侍候的情況,大概也不再是資本主義社會,而是自動化系統擁有者願意放棄擁有權,所有科技由全民共有共享的烏托邦共產社會。

話說回來,未來會走向極貧極富或烏托邦,將是我們曾曾曾曾曾曾... 曾孫的問題,處在當下,還是得乖乖照這個世代的遊戲規則玩下去。這時要想想另一個值得思考的問題:既然自動化能帶給大多數人好處,帶來社會的進步,那麼要達到 WALL-E 那種全面自動化的社會,還有哪些部分是我們有能力去實踐的呢?教育有沒有可能自動化呢?拜網路之賜,目前許多高等教育的課程透過網路已經唾手可得(Massive open online course),不管在世界的任何一個角落,都可以享受到 MIT、Stanford 等一流學府一流大師的教學,線上學習和實體校園學習基本上只差在「文憑」這一張紙而已。而另一個正在發生的革命是「司機」這個行業,將在 Google 無人車上路後,邁向夕陽。按照有野心的 Uber CEO 的說法(Uber CEO Would Replace Drivers With Self-Driving Cars),計程車司機將首當其衝。還有沒有呢?小病問診自動化?反正每次小病看醫生都是量量體溫、問有沒有咳嗽、流鼻涕等基本問題,似乎是不算太難的 if (x 症狀) { 開 y 藥; } 的邏輯可以解決的事情。開船自動化?都有無人駕駛自走車和無人飛機了,來個無人駕駛船不過分吧。郵差、消防員、軍警、藥師、理髮師等,有可能嗎?