2010年3月2日 星期二

吃你自己的狗食、工程師當自強

吃你自己的狗食、工程師當自強
最近花了許多時間與朋友、同事、老闆們溝通快速實作大於詳細規劃的概念,也著手在做一些東西,分享出來希望能夠跟大家一起討論。

吃你自己的狗食
前陣子在公司一直講這句話,因為我看了這篇 vgod 大的文章很有感覺:「追求神乎其技的程式設計之道(十)」,裡面有句話就叫「Eat Our Own Dog Food」: 一家公司應該要在內部用自己的產品解決自身的問題,才能發現真正的問題,並且說服人這東西真的很實用。Google 是奉行「吃狗食」原則的典型公司。

這段話讓我檢討思考許久,當公司在發想階段時,我曾提議過我們應該跟 Google 一樣,先在公司實作工具並給員工使用,當內部同仁喜歡後、推出為產品時的認同度才會高。但是三四個月下來雖說我們做了不少打地基的事,但是並沒有用我們的主軸概念去做出任何小工具、讓員工使用。而沒這樣做的主因,就是身為工程師的我們缺少積極性、還是用過去在前公司的思維:等待著 Marketing、Product Manager 把市場搞清楚、再等 Production 把產品的規格寫詳細才會接手去做。

一些質疑的聲音不斷地在我腦海中盤旋,這樣的流程用在創新概念的新公司合適嗎?從知名的 Google、Facebook、Yahoo!、Microsoft 到台灣的成功新創網站,像是無名小站、痞客邦、地圖日記... 哪一個不是從兩三個工程師徒手做起?若這些網站一開始就導入完整的企劃與流程,而不是先把一個簡陋的東西弄出來給自己與朋友使用,它們會不會像今日這麼成功呢?
工程師當自強

有兩個非工程師的朋友講了讓我印象很深刻的話:

    * 「工程師在台灣的密度超高,隨便車禍裡五個都有三個是工程師,工程師若想走人,再找就有了。」
    * 「沒見過有想法的工程師,我不能了解他們在不滿什麼。」

我沒有辦法反駁他們,默默承受、不善表達、私底下抱怨、溝通不易、不懂生活的確是台灣工程師常見的面向。

而前陣子 Facebook 對我的履歷很有興趣連絡上我,我有問他們一個問題:「你們大可找全世界最頂尖聰明的哈佛校友,為什麼找上一個英文講的不是很好、還要煩惱簽證的外國人呢?」,原來他們除了 Yahoo! 的經驗、好的前端工程師難找外、還被我過去做的 Hacks 與傳教士的經歷吸引:Your background is very impressive and I surmise that you are continuing to do some interesting things.。的確我跟大多數工程師的不同之處:就是在我常不務正業,寫部落格、在外講課、用自己有限的技術做一些好玩但不一定有用的 Hacks。我花了很多時間在表達我的想法上,而且從中得到了許多甜頭,未來也將如此。而台灣有沒有這些懂得思考的優秀工程師呢?其實相當多,但是他們大多自行創業或者把時間投注在社群中,傳統公司的框架與流程並沒有辦法讓他們發揮身手。

之前就對 Google 的產品生產方式有所耳聞:他們是一家工程師導向的公司,身為一個工程師,你必須在公司內部對所有人講述你的靈感、提案以及實作的產品。讓其他人決定你的提案是否可以繼續或者中止。若可繼續,身為工程師的你就是 Project Lead、可以去選擇你的 Team Member。而另一家公司 Facebook 則有一個定期的 Hackathon,他們幾個重要且成功的產品像是 Video 與 Language 介面便是經由這樣的過程激盪出來的:「Some of the best product we've ever ships, arouse from a single night effort」,而 Facebook 並沒有活動辦完就把得獎作品丟一旁,而是把公司資源全力投入,把東西給做出來。所以這類公司在找工程師時,技術變得只是基本門檻,創新能力、思考能力、表達能力、實作能力才是取決的要點。而工程師在這些公司的重要性與被賦予的使命也完全顛倒:以工程師實作為基礎、做出作品內部覺得好用時、再由 Marketing、PM、PD 調整來發光發熱。

工程師與其他角色最大的不同就是技術能力,在討論靈感時,如何實作的大致技術與困難點通常可隱約地浮現在腦海中。好的工程師與普通的工程師差別就在實作能力、加上產品力與實作的話,能創造的東西跟主導權將會完全不一樣。如果甘心產品流程永遠都是從上而下,工程師永遠都只是會技術的工人,沒有權力對設計圖加入自己的夢想,只能用一流的技術去蓋房子,但很現實地,當一流技術的產品銷售的很成功時,名利雙收的絕對是建築師而非工人。因為發揮想法的人並不是你。

你,甘於現況嗎?還是想要調整自己的心態成為會做工的建築師呢?
狗食計畫

在前公司時,工程師們最常抱怨的問題就是自己發揮創意所做的 Hack、公司沒有辦法投入資源去實作。跟 Google 與 Facebook 比較起來,前公司的制度的確是有缺陷的,大多數非工程師的人並不會把這些 Hack 當成一回事(太粗糙、沒資源、有資安顧慮),而且也沒有一個架構讓工程師的作品在內部被廣泛使用。

但很棒的是,我現在所在的新公司並沒有這些包袱,而且開明的老闆願意給我們空間去做由工程師發想的東西。雖然流程架構與角色與前公司如出一轍,但我們還保有改善舊有流程的可能性。所以我就宣布了一個「狗食計畫」,遊戲規則是初期成員只能有自願的工程師來發想與規劃產品,老闆不能要求我們做他想要的功能(因為是我們自己的時間),實作出來的東西強迫每個 Team Member 都用(到時候我們產品會強暴使用者,現在是工程師強暴 Team Member XD),之後則歡迎其他角色加入一同把產品發光發亮。

而這禮拜我跟另外一位工程師做得不亦樂乎,加班都很樂意,這自願且熱血的感覺甚至比 Hack Day 還強。目標就是用我們產品的主要架構去做出一些內部實用的小工具,像是員工通訊錄(不要小看它,其實作起來還蠻邪惡的 XD)。在過程中,我們也有很多發想,甚至想把過去的一些想法與創業夢給實作進去。另外就是看到了在許多還沒想到與規劃到的細節、甚至我還想跳脫既有的設計,把我的覺得比較好的作法給先實做出來。

依照自己的想法而非規格書來做產品是非常開心的一件事。我不是要把產品導向改變為工程師導向,但如果公司內部可以保有這樣 10% ~ 20% 的機制是像 Google 或 Facebook 的的時候,才能不斷正向地激發工程師的熱情:對手上在做的產品感到熱情,覺得自己的才能被徹底發揮。

希望身為老闆的讀者們也可以了解這樣的想法,Keep Your Talented Engineers。
相關連結

    * Eating one's own dog food - Wikipedia, the free encyclopedia

沒有留言: