High Density Thoughts from a World’s Toughest Programmer. 一個軟體天才 Mike Lee 的誠心誠意高密度分享(文長,慎入)

今日夥伴 @Bradley 說要去公司樓下的優仕數位聽一個talk (後來才知道算是 Inside CocoaHeads + Happy Designer 辦的小聚會),說是活動都辦到公司樓下了還不去未免也太懶,@Bradley 隨口問了我要不要去,我也就隨口答應了。

這樣一個機緣巧合,讓我聽到了非常多有意思的東西。而且寫下這很可能是有史以來最長的單一講者心得文。

Mike Lee 的相關介紹在 Inside 論壇已提到過

Mike Lee 傳奇的產品工程師,也是世界上最讓人頭疼的開發者員。在設計Web應用方面有豐富的經驗,此前他為阿拉斯加航空公司、Delicious Monster(據說蘋果iBooks是抄襲該公司的Delicious Library)、Tapulous(知名遊戲公司)、United Lemur( iPhone應用公司)、蘋果、Nextive(類似於Zynga的移動和社交技術公司)等開發應用程式,知名作品包括Delicious Library、Tap Tap Revenge、Obama’08 和蘋果的App store等。

重點是,聽說他娶到台灣來了(此點未經證實。因為他下一個創業計畫還是會回到他的家鄉,阿姆斯特丹 Amsterdam, 新創的公司就叫做 Appsterdam http://youtu.be/xLzkQjO0j_k )

Mike Lee 在去年 The Next Web 的傳奇演說 http://youtu.be/QMf819ccMsc

(墨西哥裝扮與講題內容全然無關!)

曲折離奇的成長背景

Inside 這回顯然很不夠 inside,因為在討論這個人的時候,並沒有討論到他曲折離奇的身世。日本爸爸白人媽媽,讓他從小就飽受歧視。加上父母離異後,母親再嫁好幾次,幾個繼父為他帶來了不同程度虐待,甚至還曾因車禍導致罹患創傷後症候群。這一切可以說是"一連串的不幸"(九點檔連續劇標準用語),其實在和 Mike Lee 面對面接觸的時候,以及從他身上迫切熱情地想傳達出創業事實的真相–的樣貌之中,全然看不出來他曾有過去那番令人鼻酸的經歷。

想一窺究竟的可以看:http://le.mu.rs/motherfucker/Entries/2011/6/14_Victimhood.html

我曾在看到一半的時候,覺得劇情實在太淒涼,一度以為是愚人節遊戲,最後從網址上確認了發言時間,才默默地又再往下看。

回到 Happy Designer 小聚會

回過頭來說說 Mike 今天的分享內容。Mike 今天並沒有播放任何投影片,而是選擇直接站在大家前面,和大家分享一路走來的心得、看法還有人生的建議。真的,真的是人生的建議。

他說,過去就是因為聽到 Wil Shipley (?) 在類似這樣的一個場合做類似的分享,會談結束後他走過去對講者說「我願意為你免費工作一年」自此改變了他的一生。

接著,他從阿拉斯加航空的工作開始說起,說到一個軟體開發者該抱持著什麼樣的心境 bla bla bla 之類…

Mike 說話非常喜歡使用隱喻,用隱喻來告訴你道理,一度還提到了上週他們去中國,爬著長城爬著爬著,回過頭去看自己走過的路,覺得很驕傲,但再轉過另一邊看還沒走的路,便覺得自己很謙卑,他用這個甚至不是故事的東西,來說明身為一個工程師,一個開發者,或者做任何事情的人謙卑的重要性和道理。

大多時候聽talk,能有一兩個topic或關鍵字、詞,被自己腦袋吸收進去,就很受用了。而今天聽 Mike Lee 的分享,則有兩組關鍵字被我吸收而且記住,一個,就是剛剛提到的–「謙卑的心」。

永遠抱持開放的心,多聽別人的建議,別人或隊友對你或產品做出批評,是因為在乎你,是為了讓事情更好,是因為在乎你或是在乎你們一起做的產品,所以才給予你批評,從這個方向來看,不要逃避批評或者是對批評生氣,反之,你應該要多找誠實的、願意說你或對你的產品或工作說真話的人,請教他們,請他們給予批評。

 

另一個關鍵字,就是 Hook。

 

任何好的產品都該有一個 Hook,也就是鉤子,可以把人鉤住,勾過來,就像正妹的可以把我過來一樣(誤)。

什麼情況下你可以知道你的產品有個(還來啊XD)勾呢?那就是,當你把產品秀給別人看的時候,別人會像看到鬼了一樣往後退,然後說,WOW我的媽這太酷了吧,快點再弄一次給我看!!然後當你再弄一次給他看的時候,他會再度感到驚訝,然後"想要拿起手機想打給媽媽" 跟媽媽說「媽,我看到一個東西實在太酷了!」(Mike 戲劇性十足地表演這畫面)  又或者,當你的App demo可以好到讓人甚至願意付錢買下你手上demo的這支手機,只為了裡面的那個未上架的APP,這些情境,都在暗示著– 你找到那根鉤子了!你幾乎註定要成功。

由於dAb自己共同創辦的 Linkwish 說年輕不年輕說老不老,說成功也還沒成功說失敗也決不會失敗(笑),但也還是處在一個希望在 APP 市場裡找到藍海、找到密鑰,找到好APP的 Secret Sauce 秘密醬料 的狀態,所以他說的這個 Hook Theory,倒是很讓我深深思考了一番。

因此,這個 Hook 的問題,也就成了我在分享會後趨前攀談所提出來的第一個問題 …

 

第一個問題: 有沒有「沒有 Hook」但是卻成功的產品?

當時我舉了 iPhone 和 iPad 做例子,當年 Steve Jobs 發表 iPhone,雖然很吸引人,但當他說出一年內要搶全球 1% 的市佔率,所有人都驚呼直覺不可能,但最後 iPhone 確實改變了整個市場,甚至改變了世界。

同樣是 Steve Jobs,當年發表 iPad 的時候,更慘,產品很酷,很棒,但發表會結束,所有人心中都還是有疑問,全球媒體和幾乎所有的分析師也都不太能夠確定,一個定位在電腦和智慧型手機中間的產品,真的會有人買嗎?現場有許多人對 iPad 這劃時代的產品感到驚嘆,但絕對只有很少數的人真的 “拿起電話打給媽媽"

總之,我舉了上述這兩個例子,來問 Mike,是否存在一種沒有 Hook,或是 Hook 不容易被看見,甚至是隱形的勾勾的產品。

答案是:

有的,有產品不見得有天生(就能被發現的)Hook,但是能成功。

舉Apple的例子很明確,當時他們自己也不確定,但很幸運的是,大家喜歡那些產品。但不見得每次都會這麼幸運。 是的,沒有鉤子,也可以,但有的話,更好。但 Mike 補充說,我舉的例子是硬體,但他從沒看過一個沒有Hook的軟體(App)在市場上成功過。

Mike (偏激地 😛 ) 認為大部分的 Apps 都很糟糕,因為當你問大家什麼東西好玩的時候,妳會得到一大堆不一樣的答案,表示並沒有一個非常非常棒的東西,讓每一個人第一個推薦給你的都是同樣一個答案。(大概是在說他這篇文章 http://mur.mu.rs/?p=528

如果你能找到一個有鉤子的應用,並且把他實作出來,那麼你應該很有機會成功,

 

第二個問題:有沒有推薦的專案管理軟體?

(我們公司其實試過很多解決方案,包括 Basecamp 包括用 Facebook Group 包括 Google Group,包括 Redmine,但其實結果都不是很令人滿意。)

Mike首先問我一個問題:你們團隊分開工作還是有辦公室?我回答說,有,有辦公室。接著Mike給出了他的答案:

幾乎所有的專案管理軟體都 sucks!而且…

最好的專案管理工具,其實是 白板!

遠距工作的話不提,對於一個有共享實體空間工作的團隊而言,白板是最好的,貼在螢幕旁邊的 to do list 也會是最棒的工作事項提醒 or version tracker,團隊成員既然在一起工作,就必須要不只是在一起工作,而是要每天溝通,每天一起吃個飯,一起活動,一起做很多事,而不是來辦公室,開會,做完事情,下班回家。

你和你的團隊成員的關係,得要像是結了婚的對象一樣,拼了命相處,拼了命的經營才行!

至於為什麼總是看網路上很多人說 Basecamp 好用?Mike 說,因為那些說 Basecamp 好用的人,都是那些開發 Basecamp 的人!(大笑)

所有的專案管理和版本管理系統都不是很爛要不就是很難用,這就是為什麼大部分的公司都會自己寫專案管理和版本控管的tracking系統,原因就是外面的 Solution 都 sucks!(又笑)

 

第三個問題:該如何管理團隊成員之間的關係?

簡單的答案:「誠實面對自己,並且開放別人冒犯你的權力」

完整的答案:放下自尊,把誠實放在所有事情的最前面,並且開放別人冒犯你的權力,唯有團隊成員彼此開誠布公,誠實以對,才能一同合作產出最棒的產品。

Mike說,他每次在帶領團隊開始一個新專案前,一定會先說底下這一段話:

「醜話說在前頭!在這個專案裡頭,不會有快樂,不會有憐愛,不會有禮貌,你將會聽到很多髒話,非常多,你會聽到fxck,你會聽到shxt,我們彼此會互相傷害,會大哭,會大罵,會發生任何你現在還想不到的事情,但一旦專案完成,產品推出,我有信心這一定會是一個成功的軟體,然後你會覺得非常驕傲!」(眼神)

(當 Mike 在講這些話的時候,用力地看著我,我幾乎可以感受到他對著團隊成員說出這番話的威信還有信服力。也稍稍聯想到了 Steve Jobs 的現實扭曲力場… XD)

Mike提到,當時 Delicious Library  第一版做完,團隊解散,Delicious Library 第二版做完,第二版的團隊解散!我乍聽到時頗為吃驚,但 Mike 解釋說,團隊成員並不是解散後就不再見面,而是在到了不同的城市或不同的團隊開始新的專案之後,彼此透過網路,還是會非常關心對方。Mike 敲著胸膛說,就像家人一樣,像血一樣的連結。在組成團隊開發專案的時候,因為相互理解而相愛,但也因為過度了解對方而可能無法繼續在一起,這種愛,還真有點像家人或是鴛鴦怨侶一樣,天天在一起就吵架,分開反而甜蜜。Mike 補充說,帶團隊做軟體專案,也像軍人或戰士打仗,每次一起上戰場都很兇險很痛苦很想回家,但是下回一有戰事發生,卻又還是很心甘情願的接受 Call of Duty (使命的召喚),甘願和弟兄們一起回到戰場上。

 

每次做完一個專案,就像是殺了自己,也殺了對方

完全的誠實,絕不會是一件令人開心的事。Mike 說這句話的時候,異常認真,我感受得到。他曾對著想跟他做專案的人說,如果跟著我做軟體賺錢,還不如去賭博,賭博還比較快,也比較快樂,不要跟我做專案。做專案,不會太快樂,但軟體成功之後,會有成就感。要能生出成功的專案,並不是只有熱誠,或想賺錢的熱誠就可以,而是必須犧牲一切,犧牲自我,放下尊嚴

曾有人跟了他做專案,但跟到最後覺得為什麼做專案要像打仗,甚至哭著說有「嗚嗚那個誰誰誰對我不禮貌,批評我」最後離開團隊,Mike 說,這種人的下場,就是飛到別的城市,然後加入別人的團隊,最後毀了那個團隊。

 

「忘記禮貌!」

 

一個成功的軟體團隊,沒有時間管禮貌,禮貌只會害了你的軟體!跟團隊成員相處,要就像在跟自己相處,跟自己講話,應該要完全的誠實,沒有什麼不能想,沒有什麼不能說,哪裡不好,就要說,而且直說,大家有什麼事就攤出來講,情緒不能悶住,更不能讓情緒影響產品的開發,或者影響到其他的團隊成員或士氣。

一旦團隊裡要是有人因為爭執而影響了情緒,就應該對他說 「要哭 去哭 哭完之後, 回來。」「要吵架 就去吵,吵完之後一樣給我回來」Mike 提到他們之前在 Tap Tap Revenge (第一個在 App Store 達到百萬下載量的軟體)的該開發公司 Tapulous 有兩個 room,一個是Meeting room,另一個是Yelling room (!)

你對我剛剛做的東西有意見 好啊 來!我們去Yelling room,不要影響到其他人!

進去隨便吵,什麼髒話都飆出來,等到意見都發洩完了,你就只會說,fxck it!繼續把事情做好吧

我聽到 Yelling Room. 爭吵室 的概念,覺得很有趣,甚至隱隱約約覺得,該不會,亞洲人一直很難做出世界級的軟體,就是因為我們太有禮貌?只不過,放棄彼此禮貌,就事論事為了專案好而「專業地對彼此破口大罵」的這種作法,或許適用在美國人的身上,但能適用在亞洲文化,或者亞洲人的身上嗎?對此我並不是很有信心。

所以我接著問

 『Yelling Room,爭吵室,放棄禮貌,聽起來很酷,但適合亞洲人嗎?』

Mike 對此做了簡單而有效的回答,他說,韓國的航空公司(或是航空的軟體?)失事率很高,為什麼?因為他們把很多問題都藏著,開發團隊成員彼此之間都很有禮貌,不敢冒犯對方,不敢把問題提出來,最後就是做出來的航管軟體有問題,最後讓飛機掉下來。

 

總結一下

團隊一起做專案,首要之務是誠實,對他人誠實,尤其是對自己誠實,最後這點也是最難做到的。

其次,對於有辦公室的團隊,請拋棄專案軟體,改用白板。此外,團隊之間的相處,與其文質彬彬互相敬愛,還不如誠實以對,只要是對軟體好的,就該知無不言,言無不盡,為了禮貌而隱蔽你對同事工作的評論,只會害了你們共同催生的軟體。

 

最後,補上幾個後來在一邊旁聽聽到的問答,其中一個是 Inside Polydice Edward 問的,

對部落格的撰寫有什麼建議嗎?

Mike 的回答是,不要只是在問題的外圍寫問題,而是deep down地去寫,甚至做一些研究,最好是做出一些demo讓自己全盤了解之後,給出一個可能幫助更多人的答案。他舉了一個當年因為研究第一代iPhone的某個翻頁特效(Dimmer Flip?)他做了很多實驗,最後實作出來並且把 code release出來。多年之後,他進入 Apple 工作,有一次花了很多時間想解決某個翻頁的問題,上網 Google 了很久,後來找到一個人寫了一篇非常詳細的說明,解決了他的疑惑,最後才訝然發現原來作者是自己!

另幾個問題我不太確定是誰提的,看到這篇文章的就自己來認領吧!

為什麼 iBook Author 產出的書只能在美國日本和歐洲 iBook Store 上賣,而不開放中國/台灣開發者上架至自己的中文 iBook 賣場?

答:因為 Apple 很愛錢。這是前提。Apple 很愛錢,所以任何決策做或不做,只有兩種可能,一種是做不到或做不好,另一種是做了沒有錢。

 

有沒有可能我們團隊開發的APP其實很棒,解決了很重要的問題,只是其他人都沒發現到而已(這問題大概是很多軟體還不紅的開發者的共同疑問和假設…)

軟體開發是一條非常辛苦的路,你必須先定義出問題(Problem)來找出解決方法(Solution),這意味著,一旦你瞄準了一個問題,你就必須將所有人對這個問題的所有難受感覺,通通揹負在身上,你必須不停地"感受"這個問題,感覺它的難受,最後才有可能找出最好的解決方法,這真的非常痛苦。直到有一天,你將這樣的 Solution 做出來時,你會突然覺得之前面對這個問題的痛苦難受通通都不見了(Mike 舉例:本來要管理書本/DVD或遊戲是很痛苦很困難的事,但 Delicious Libroary 出現之後就立刻解決了問題,讓事情變得非常簡單),那麼恭喜你,你解決它了,這軟體可能成功,而且幫助這個世界。

有沒有可能你找到一個問題,也做了很棒的解法,但這個產品最後卻失敗了,當然有可能。

Mike 拿親身經歷來說明。他曾在iPhone推出的初期(只有幾百萬台的時候)做了一個超級難的解謎遊戲,而且解出難題的人還可以換取獎金(這種APP違反後來的Apple規定,現在是不得上架的),當時他們花費了大概 50 Milloin (回想起來應該是聽錯了,不確定金額有多少) 開發出這個超級難解謎換獎金的遊戲,最後只有兩百個人下載!當時這個軟體瞄準的問題存在,解決問題的方法也正確,但忘了一件事情,當時 Market 還不夠大。幾百萬的 iPhone裡,對解超級難題有興趣的,很可能只佔很小一撮。這種軟體當然註定會失敗。(編按:難怪聽說矽谷創投最愛問創業者的第一個問題都不是你們會員人數有多少,而是你們的Market Size 市場有多大!)

最後,Mike 其實還意在言外地安慰起這個提問的人,他說,如果你找到好的問題,也提供了一個好的解法,但卻沒有人欣賞沒有人用,那也沒關係,至少,這個世界上少了一個有問題的人,至少,你解決了自己的問題,讓你在面對那件你想解決的事情的時候,變得快樂而不再那麼痛苦。(編按:從這裡還真是感受到 Mike 循循善誘而且充滿熱誠的真心哪)

後來為了記下這篇筆記,結果我搞到最後一個才離開,離開前,我又再問了 Mike 兩個問題:

1. 真的可以把他對 Basecamp 說的壞話寫在 Blog 上嗎?

他笑著說當然可以!

2. Yelling Room 真的很不賴,彼此誠實也真的很棒,但萬一吵也吵過罵也罵過誠實也誠實過了,但彼此對一件事情的看法還是沒有交集的話,是要怎麼做決策呢?(我沒說出口的假設其實是,該不會因為 Mike 你學做過記者,很會講話,所以在 Yelling Room 裡沒人吵得過你,最後都是你贏~ XD)

總之,Mike 給我的答案還算清楚,但很明顯地頗具個人風格。他說,大多時候他都是 Head Engineer ,所以他會一開始就跟團隊成員講清楚,我是 Leader,所以當有爭執無法做出決定的時候,我會讓你們知道該做那個決定的人是我。但我不會一直訴說這件事,也不會強調我是做決定的那個人,你強調一次,大家就會恨你一次,你強調越多次("I am the boss"),就會讓更多的人或所有的人都恨你。盡量不要讓事情進入這種情況,不過,一旦事情需要被做出決定,你還是必須讓大家知道–你就是那個有能力、有責任做出這個決定的人。

3. 你講的東西真的很棒,有沒有考慮寫書呢?

有,正在寫,敬請期待!

 

後記

雖然 Inside 把 Mike 捧成神,說是軟體天才(當然是因為知名線上媒體 Read Write Web 率先用了 App Genius 來報導 Mike Lee 的關係)但一整個討論下來,發現他其實是個非常強勢的人,只不過並非那種沒有道理的強勢,而是有道理的強勢,他的道理就是「為了做出一個成功的軟體,沒有任何事物可以阻擋在前」我猜,這樣的作風,很可能導致他無法長期停留在一個團隊,所謂那種家人的、情人般的,戰士弟兄的互信互愛卻又無法彼此忍受在一起工作的羈絆一般的情感,會不會只是他單方面的想法,而不是所有與他合作的人都是這樣看的呢?

離開他的團隊成員,會不會其實並不真的抱持和他一樣的「革命情感」?這或許需要更多觀察和資訊才能夠斷言。不過,從他的 Twitter Follow 的人數並不算異常的多,部落格 http://mur.mu.rs/ 訂閱人數也並不算高(Google Reader 411人),拿這些追隨者或粉絲的數量,相較於媒體冠給他的天才大帽子,或許可以些微看出,他對軟體超乎常人的熱情和執著,並不見得就是所有人都想爭相學習或者能夠認同的,而這種軍隊弟兄般誠實的團隊領導、團隊合作的方式,也或許只是宇宙中的某一種特定的人才適用,不適用於所有人吧。

無論如何,他講述信念時所散發出來的熱情,和對待問題的誠實和理性,都一再提醒我們,身為一個軟體人,身為一個開發者,想要做出改變世界的事物,務必先能忍受解答疑問和難題的痛苦,接受各種不確定性!在對談的過程中,我注意到,Mike 對幾乎所有的問題,都提出不只一種答案,即便他對自己的認知非常主觀非常強勢,但也理性地保留另外一種可能。對任何的問題都接受例外的答案,沒有一定怎樣對,也沒有一定怎麼樣錯,任何的道理任何的理論,都可能有另外一種路徑導引出截然不同的結果來。絕不能單看事物的同一面,而是必須誠實而理性的接受它所有的可能性與所有不確定性。

一如你在閱讀這篇文章,你誠實而理性地接受了我的文章當中可能存在或不存在的偏執或不理性,你也忍受了我不斷耐心陳述Mike Lee對同一件事情的各種例外和看法,當然,若你真的從文章開頭一路看下來到這裡,顯然你也在過程當中接受了「不知道這麼長的文章到底什麼時候才要結束」的不確定性啊,不是嗎? (笑)

 

創業就像這樣,不是嗎?

 

祝福大家,一切順利!

 

以上。

 

 

附上今日與 Mike 神合照一張

補充:Mike 推薦大家都去看看 Pulp Fiction(中譯:黑色追緝令) http://www.imdb.com/title/tt0110912/,據說裡面有很不錯的團隊合作範例。 🙂

24 comments

    • Dear Vista學長!感謝您的閱讀和指教!
      字體已馬上改正,從 12px 改為 13px ~ XD
      等有時間再來微調看看更大一點o不ok。

      謝謝學長!

    • 哈哈,sorry, 已更正。
      對像我這樣的一般民眾而言,Inside名氣還是比較響,很容易把你們混在一起啦~XD Sorry Sorry~

      你提問的時候其實我有大半時間在整理這份筆記,有什麼我誤聽或漏聽的,都歡迎補充啦!:)

  1. 推最後一段,創業真的就像是這種心情:
    「不知道這麼長的文章到底什麼時候才要結束」

    不只創業,開發專案也是,
    總是一面懷著忐忑不安的心情,
    一面踏出一步又一步的腳步不停向前走。

    • 感謝指正,中間補了一句,改為「有沒有可能我們團隊開發的APP其實很棒,『解決了很重要的問題,』只是其他人都沒發現到而已」。
      您是這問題的提問者嗎?我若有理解不對之處,歡迎協助補充。感謝! 🙂

      • 是啊我是那位發問者沒錯 :p
        只是我的"重點"是在「怎麼知道是在自我創造問題 or 真的有這個問題,只是我還沒遇到TA」,而不是「我的app很棒,只是別人不知道」~"~

  2. 感謝分享!
    我覺得講者跟你的這篇文章,
    最好的地方就是可以讓人有多一點思考點,
    而非單方接受灌輸而已,
    我是覺得沒有一個萬用方程式可以通用到所有團隊的,
    而Yelling Room最終是希望大家可以誠實並把事情做好,
    所以怎麼讓大家誠實的表達出想法才是最初目的,
    要不要Yelling倒不是那麼重要了! XD

  3. 專案管理軟體,只是個輔助,重點還是Process。
    像現在很多公司都在run Agile or Scrum(我們也不例外),在小團隊裡面,是真的還蠻好用的,雖然說,對於UX designer來說,有點痛苦。
    最近,有朋友推薦我Asana,還沒有很認真研究它,不過,小試了一下,還蠻有趣的~
    給你參考~

  4. Pingback: [雜感] 不太懂 dAb.tw 是怎麼擠到全台流量前兩千三全球前五十萬的… 是Alexa壞了吧?… « dAblog

  5. Pingback: Basecamp Hack – 關於 Basecamp 無法設定重複事件(Repeating Event)的解決方法 « dAblog

  6. 沒有被軟體天才的強勢言論洗腦、會特地去參考其他觀察管道或數據如follower, Blog訂閱人數等來給予批評,很誠實也客觀有禮貌!不覺得文章長到不曉得何時結束,因為夠deep down, 也似有Hook引人入勝喔 😛 心得:Mike Lee會這麼漂泊不定、把專案team搞得跟軍人革命一樣,推敲仍跟他童年受虐經驗有關、以致於在感情層面有強烈不安全感;他的成功與不成功,可能也都為此!

  7. Pingback: 相信自己能夠改變世界:傳奇產品工程師 Mike Lee - Inside 硬塞的網路趨勢觀察

留言回覆: