a8c工作文化的原罪?

過去寫了這麼多在Automattic工作的好事,今天趁著在等程式碼發佈的空檔,來寫個數年來懸宕未解的問題:維護孤兒 —— 發佈之後,儘管使用者眾多,也永遠拿不到資源維護的專案。

會下這麼聳動的標題,是因為我覺得這是我們鬆散、高彈性、強調速度、根源於開源專案的工作文化的一體兩面。我們內部同時啟動的專案非常多,一個專案也通常短則1~2週,長則2~3月就發佈了,發佈之後呢?人就四散去做別的事情去了。在剛開始的一兩個月,要找到原班人馬處理後續維護還算可行,但隨著時間過去,要追溯愈來愈困難,優先序也逐漸受到新的專案擠壓;issue延宕的時間從本來可能2到3週,逐漸推進到2到3個月,當開始出現超過半年也沒人解的issue,我們便又多得到一個維護孤兒,可喜可樂、可喜可樂。以前曾讀過某篇文章論中國的高速經濟擴張弊病,裡面有一句神比喻:「步子邁太大,扯到蛋了」,差不多就像這種感覺吧?衝太快,掉好多包了。

一個很好的例子是calypso專案的自動化end-to-end測試。概念上,每當有一個PR被標上"needs review",我們的系統會自動在calypso.live上設立起一個docker container來跑該分枝的calypso,再用tests/e2e下分類為canary tests的自動測試去確認基本的正確性。如果進一步標上"needs e2e tests",那就會有好幾卡車的桌面版與行動版end-to-end測試對它這捏那拉、上沖下洗的,跑到PR吱吱叫。

matticbot會負責通知各PR的calypso.live專屬實體URL

這聽起來很美好,但有個問題:calypso.live相當不穩定,所以就會常常發生automated e2e tests不過,打開一看是calypso.live起始失敗:

這造成很多問題。開發人員常常被迫去檢查這個false negative,一開始大家還會想說重跑一下,久而久之大家就開始留下「此錯誤與本PR無關」等話,然後就忽視過去了。結果呢?曾經發生過有些不該忽視的也被忽視,造成好一段時間帳號註冊無法使用。由於一旦出錯,CircleCI會自動通知該repo的所有人,這類訊息看久了大家紛紛設inbox filter直接把它濾掉,試問這樣CI的意義還剩下多少?

這樣天天在用的東西,應該很快就會被修好吧?很遺憾,大概快一年了都還是這樣。像這樣即使很多人在用仍然成為維護孤兒的內部工具多到不行,今天舉calypso.live為例只是它會出現在公開的源碼庫中,比較方便講而已。

換個角度想,這也是為什麼一旦組織大起來,自幹前要三思 —— 長期維護成本難以估計,自己能投入多久亦未知。

日常片段 0x06

暮然回首,上次發文竟然已經是一個月前的事了,趕快浮出水面刷個存在。

自從前陣子轉到MarTech team,每天p2通知、github、phabricator、Slack等等更新訊息如海嘯般襲來。以前偶爾還可以偷懶無視,專心去寫我的code,但自從接了MarTech squad lead的位子(squad和team在a8c是不同的概念,之後有機會再談),等同把最後的退路封了,我必須站在第一線面對。但,面對這樣海量的訊息,我就好像嘴上叼著一個漏斗的人,異想天開地妄想把如此巨大的水體收納歸整為可以啜飲的涓涓細流,任由被沖散之餘,偶爾能接入少少幾許,在無法自主的翻騰中為自己的微小勝利喝采。

今天開完會,看著隨著時間流逝像會自己增生般的待辦事項,再回頭看看一直丟在那邊長蟲的學習計畫以及一堆沒能整理發佈的部落格文章草稿,不禁長嘆一口氣。這項挑戰毋庸置疑是我想要的,學習a8c的領導文化一直是我在這裡工作的目標,現在我終於站在起跑線上了,但挑戰的強度遠比我想像的嚴峻。我以前常和人聊到在a8c當工程師是很爽的,leader們不知做了什麼魔法,我們的小日子完全沒有一般企業的狗屁倒灶事情要擔心,能專心把自己工作做到最好,享受專求工藝完美的快感。我現在知道魔法之一是什麼了:擋子彈。其他魔法我恐怕還沒資格說什麼,因為這層功夫不到,根本活不到學下一招。現在只能屁股夾緊,告訴自己:撐過就是你的。

括約肌,好像又強了一點點。

在家工作小貼士

(圖:童書 We Don’t Eat Our Classmates,與本文完全無關,只是太經典了很想放)

世事難料,因為新冠肺炎疫情的關係,在家工作(work from home, WFH)突然變成一門顯學了。之所以說「在家」而不是「遠端」,是因為因應疫情大部分的人都是被迫在家蹲而不是四處趴趴走,其中有些人覺得太爽了以後回不去辦公室了,也有不少人因為無法適應而開始向我請益。

以我個人的經驗來說,變換地點在剛開始遠端的時候其實是很重要的。唯有經歷過持續去探索不同環境的這個發散過程,我們才會從中精煉出對自己真正重要的環境因素,逐漸穩定下來,在哪裏就不是這麼重要了。這些朋友們因為欠缺這個過程,身處的企業又沒有遠端工作的文化基礎,生產力自然大跳水。

這篇文章統整一些我個人在家工作時會用的一些小技巧,㊗️大家天天WFH天天開心。

編集者新聞,你又打中我了

郵差悠悠地晃入社區,從他塞滿各種郵件的郵包中抽出一份摺得票票亮亮的報紙,塞入我家的郵箱中。因為我現在習慣在客廳用紙箱權充站立桌站著工作,這一切都看在我眼裡;而我知道,是我每個月最期待的「編集者新聞」,姍姍到來了。

這大概是兩週前的事,而我今天才有空開封 😱😱😱

不開沒事,一開乖乖不得了,這是什麼啊?

什麼什麼!竟然是「兒童新聞」副刊!

依舊優美簡練的排版,適合兒童的尺寸,加上精美的插圖,完完全全打中我內心的屁孩了啊啊啊!

本期的主題是「宇宙」,除了精選的相關科普、藝文介紹,還在各版間穿插「宇宙冷知識」,讓整份刊物除了各版的單元外,多了一個引人從頭翻到尾的串接元素,實在巧妙。

最後不得不提的就是這次的插畫,看看下面這張太陽系探索歷程的infographic有多精美

不只精美,它將下列這些資訊的視覺化設計得一目瞭然:

  • 太陽系的組成與各星球的外型
  • 24個宇宙探測計畫的時間軸
  • 透過各星上的連線數量就可得知有多少次該星的探查計畫
  • 從探索載具查找目標星球
  • 從星球查找探索載具

最棒的是,因為這是兒童刊物,作者特地把這些連線做得跟迷宮一樣,添增童趣。這年頭有很多Infographic為了美觀,忘了它真正的用途是讓人能以清晰的視覺化「探索」資訊,這張圖實用與美觀兼具,還連讀者的喜好都考慮進去,堪稱楷模了。

為了這張畫,我還特地去研究了一下An Chen這個人,並在他的個人網站上流連了好一陣子。畢業於「劍橋藝術學院兒童繪本系」啊 … 我自己一直都有一套唯有美學教育才能改變台灣的理論,知道竟然有這樣的系所存在真的覺得既興奮又感慨。這些世界一流學府能將藝術專精至此,難怪這些國家的文化財產深厚屹立不搖,真希望有朝一日台灣也可以這麼重視文化發展。

這麼用心的刊物真的很難得,看我還不訂爆!

荷包,又薄了一點點。

Marketing meetup總結:行銷債與品牌困境

(圖文不符:新年假期狂混了快三週,用一張東海岸的美景來啟動新的一年吧!)

我們今天在這邊聚在一起談行銷,其實已經是一大創舉了;在僅僅5年前,在Automattic談行銷都還被視為一種貪婪。

這是某人在本次marketing division meetup的開場。會後我們幾個相對菜的問了比較資深的Veselin,他說:「沒錯喔,這是真的」。由於Automattic始於開源,一直以來都是以影響力為優先考量,賺錢被視為是種有如副作用般的存在,不但量上只要求能夠維持公司的運作,任何直接以賺錢為第一目標的行為,都被視為一種貪婪。這在Automattic Creed中也可見一斑:I am more motivated by impact than money

這想法當然是很浪漫,但現實殘酷:經營企業可不是搞慈善,佛心生意是沒辦法長久的。這不禁讓我聯想到前陣子才把收費方式從一次買斷改成訂閱制的ACF, 說真的從ACF提供的價值以及營運成本上來看,早該改了。他們還算幸運的,不但來得及改大家還願意買單,這些年來不知道看過多少優秀產品堅持佛心,最後卻因無法維持結束營運。這樣的結局往往只換來大量的感謝,和猶在耳邊的熄燈號。

就當作是為了讓老客戶能一直有他們所相信的產品可用也好,請認真把賺錢當作一回事吧!賺錢本來是應該的,該被當作是一種永續經營的必要手段,只是超過了該有的限度後才變成貪婪而已。

在很久以前我在第三順位症這篇稍微提過敝公司有大量的設計債,這個「行銷債」可說是師出同源:過度強力的工程主導,導致長期以來對行銷的不重視。事實擺在眼前:不管理念再遠大,我們的成長遠遠不及各大競爭對手,如新興平台WiX和SquareSpace,甚至連WordPress hosting service如WPEngine和GoDaddy的hosting service都是我們數倍的成長率;加上公司規模的擴張,我們已經不能再說什麼「只要能維持運作就好」之類的天真話了。

這次meetup檢討的項目非常多,但主要不脱兩個方向:檢討行銷策略與品牌定位。

Marketing division meetup – 登入

歷經漫長的18小時征途,今日終於堂堂登入The Porter Portland,準備參加今年首度的marketing division meetup。SFO入關向來都久到白頭,但這次真的太久了,久到好幾個人拜託我們排比較前面的人讓他們先過,因為都已經最後登機了還在安檢。我自己其實也很趕,但至少還沒這麼緊急,就強作鎮定露出「別擔心,歹丸郎挺你」的隨和笑容讓他們匆匆而過,最後我趕到登機口剛好開始登機,有驚無險。說到美國國內線轉機,雖然United班次多又便宜,個人經驗上還是Alaska Airline比較好:座位寬敞,有電影看,空姐也比較溫柔 –– 真的啦,長途旅行中這個很重要的。

這次除了WordPress.com,Jetpack,WooCommerce的marketing team齊聚一堂,因為人數眾多,加上Matt和Kinsey也會遠端參加,HR和Event team也派出堅強陣容參戰,總計5x人,算是少見的規模。由於自從新CMO Monica Ohara上任,不斷大刀闊斧地改革,這次會召集所有人,正是要針對2020年極具野心的成長目標一起取得共識。

為了接下來精實的三天做準備,俺先去吃個Burgerfi補充氣力,也就是上面這張照片的由來。就好像固定儀式一般,我每次到美國第一天都會跑去吃連鎖速食來「啟動」,按照喜好順序是Shake Shack、Burgerfi,以及In & Out。大口吃肉、大啖薯條,把什麼瘦身計畫健檢紅字什麼的都忘光,吃完後邊吮指邊閉上眼睛細細品味腸胃因為重油重鹹的刺激而拚命滾動,過了約莫五到十分鐘後,油膩膩的血液沈甸甸地開始在血管中要動不動地,逼得心臟比平常更努力地跳動。抓緊這個時候,狠狠地再灌一口冰涼的可樂下肚,逼著腸胃抗議、心臟跳到極處,讓一種自殘般的快感爆發出來:「啊啊啊啊啊!WELCOME TO THE US!」這就完成了儀式,準備好工作了。

離鄉背井的心,變堅強了。

肚子,好像變軟了一點。

應徵Automattic前要刷leetcode嗎

話說這次WordCamp Taipei個人首次以會眾的身份出席,沒辦法擺攤吆喝強迫大家拿贈品雖然心裡總是癢癢的,但也因此有了很多時間跟大家聊天和參加議程,收獲滿滿。令人開心的是,這次很多人問我敝公司的就職問題,其中最常聽到的就是:「請問應徵Automattic前要刷leetcode嗎?」

答案是:不用

不是說刷leetcode沒用,我打從心底尊敬那些能刷好幾輪看到題目就背出程式碼的人,進行大量演算法練習對編程效率的提升也是毫無疑問。只是我們的評選方針比較偏好實戰導向,受試者處理實際問題的能力才是重點。所以刷leetcode對應徵a8c是沒有太大幫助的,同樣道理,去流水帳式地詳讀PHP和JS的語言手冊也一樣沒用。

簡言之,能Google到答案的東西我們都不會問。這也不是說Google得到的就一定簡單,傅立葉轉換也Google得到,對我來說就很難啊。

那該如何準備呢?以下就個人觀點列出幾點建議。

日常片段 0x05

本月月中,有位同事離職了,為了保護隱私,這裡先暱稱他為N桑吧。

這件事讓我非常震驚。N桑作為team leader在公司內做了很久,經手過不少重要的專案,常出沒在重要的討論中,在每年的大拜拜總是一身瀟灑地站上DJ台帶著大家搖咧搖的。但是,在離職的道別文中,他卻提到:

在過去幾個月,我不斷陷入憂鬱的漩渦之中,我曾認真想結束自己的生命。

我讀到這簡直不敢置信。我剛進公司的時候和N桑聊過一次,他自信、從容大度,熱情地跟我分享他和家人們現在住在一台RV上,即將第四度橫越美國,去年他則是準備參加一年一度的火人祭,今年GM見到,他依然不改一身勁裝,爽朗的笑聲穿透力驚人,在數百人之中也可以認出他。

但,這卻是他想結束自己生命的時候。

這不禁讓我想起過去曾碰過有憂鬱傾向的人,開始思索我們週遭究竟還有多少人在深層的憂鬱驅使下強展笑容?遠端工作讓情況更難探知,隱藏在一層層文字訊息壁壘之後的,究竟有多少鬱鬱寡歡的人?

我察覺到一直以來我都在用不對的方法追求不對的目標。雖然我不想承認,但我真的需要離開,放下一切,重新去探索我自己。我本來忐忑不安,但當我真的卸下職務,我感受到前所未有的輕鬆,以及我一直追尋的自由。

N桑,雖然不知道你未來會往哪裡走,願我們下次見面時,你能夠發自內心地笑了。

續:遠端工作奧義

時光飛逝,自上次公開遠端工作奧義已經過了快一年了。作為參考,奧義就是:

定時大●

因為很重要所以要用H2。

彷彿像是上天給予的考驗般,就在我四處宣揚定時大的理念,不管對方想不想聽,也大剌剌地談著各種大的形狀、顏色、密度等所隱含的健康線索之時,我,竟然莫名其妙地經歷了約四個月之久的腸道不順。

身為一個逢人便說今天順不順啊、要不要加入早上大行列的人,可以想見我有多震驚、多困擾。除了坐在馬桶上的時間變多了之外,我覺得我再也沒有臉面去談大,彷彿我過去的順暢只是一場謊言。如廁中的水花聲從飽滿悅耳的騰騰鼓聲變成砂礫散落的一池碎雨,我的心,也跟著碎了。

最後還是我太座提醒了我一個我早就知道但遺忘已久的「那個」,僅僅一週後的效果,讓十幾億人都驚呆了 …

「那個」就是地瓜,而且要連皮吃。俺良心寫文章,才不玩什麼click bait哩。倒是底下的文章有許多大,用餐時間請慎入。

日常片段 0x04

「87公斤,不能再高了」太座的聲音從耳邊幽幽響起。
「妳 … 妳什麼時候過來的?」
「嗯 … 大概就在你扶著肚子站上體重計的時候吧?是需要摸得這麼寶貝嗎?」
我渾身一震,原本充滿慈愛地輕撫的手突然僵硬成了雞爪般的形狀,不知該往哪裡擺。

雖然年過30後體重一直呈現穩定的上升趨勢,但過去幾年來敲關84公斤多次,從來沒有一次突破。沒想到就在這個兩個月,不但闖關成功,還直接衝到未知之境。穿上開始覺得略緊的睡褲,因為腰內肉(?)被鬆緊帶撐著,微微向外垂下,竟覺得有種被輕柔地擁抱的感覺。

「啊啊,原來肚肉下垂是這種感覺啊,低頭不見腳趾也好奇妙呢 …」某希臘哲學家曾說,上天賜給我們如此神奇的肉體,不去好好探索其可能性是天大的浪費,我現在可真是對得起我的肚腩的可能性了,你說是吧,老皮? (肥肉抖抖