插旗LeadDev Live啦!

LeadDev是Reboot之外另一個我們公司常送人去的領導管理conference,今年因應疫情,也全面移師線上。今晚歹丸時間8點會登場的就是LeadDev Live,6個小時雙軌的內容看來相當精實,但全面免費!

登入專用Slack channel後看到主辦人在邀請大家插國旗,毫無懸念地插上第一支,感覺人生圓滿。

希望今晚不要邊聽邊睡,就更圓滿了。

在a8c做leader初期小感

自從4月初MarTech team首度以squad模式嘗試分層運行這個日漸壯大的團隊,不知不覺也4個月了。Squad和Team在a8c是很不同的概念:team就是傳統上我們認知中的團隊,而squad是針對某個專案組成的小組,通常是跨團隊甚至跨部門的,沒有特定的運作規章,在專案完成後就會做鳥獸散。

由於要組成新的team有許多正式流程要進行,當時我們也不太確定這樣對整個MarTech是否合適,因此就先以squad模式運行看看。而這項實驗也終於在上個月塵埃落定:MarTech正式分成兩個子團隊。順帶一提,我們這次用了變形金剛主題來命名,因為我丟銅板丟輸了,我所屬的團隊就成了狂派(Decepticons)。

繼續閱讀 “在a8c做leader初期小感"

摳韋德-乃汀中的a8c小日子

自疫情爆發以來,摳韋德-乃汀(COVID-19)開始他的全球之旅算算也四個多月了(當然也有人說實際上已經6、7個月了),期間不但愛去餐廳併桌,還不管別人意願硬是要去當沙發客,可謂當代最不受歡迎的旅人。因為a8c打從出生就是遠端工作,相對於許多臨時啟動WFH而顯得有些生澀的公司,似乎比較不受影響?一半一半。就工作上來說,我們的合作模式確實不受影響,但對全球夥伴的生活衝擊是真真確確的。所幸我們的業務量就像許多網路服務公司一樣,不減反增。由於假日得面對疫情直接帶來的壓力,忙碌的工作日反倒變成許多人的避風港了。

紀念一下台灣這麼長時間零本土案例,這篇就以流水帳的形式統整一下,疫情期間a8c有些什麼對應政策吧。

繼續閱讀 “摳韋德-乃汀中的a8c小日子"

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為例只是它會出現在公開的源碼庫中,比較方便講而已。

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

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 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得到,對我來說就很難啊。

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

繼續閱讀 “應徵Automattic前要刷leetcode嗎"

GM2019第五日–驚濤駭浪後的休憩

相較於前一天的精實,也不知是不是規劃小組的體貼,這一天的行程相當鬆散。因此我一大早第一個任務就是殺到Disney Downtown裡去血拼,買給全家人的禮物。

隻身在外逛街是很無聊的,拜12小時時差之賜,剛好可以和家中的太座大人連個線,像個直播代買一樣來個遠距逛街。但看看這些精美的「裝備」,甫踏進門內我心裡就暗叫不妙,但直播的大門既開,一切都已經太遲了。「左邊給我看一下」,「右邊、右邊」,「那邊靠近些!」就這樣商店一間換一間,魔法小卡噗吱噗吱刷了又刷,待我意會過來雙手已經快提不動了,皮夾躺在腰包裡看起來奄奄一息。

「這裡很晚了,掰掰啦,愛你喔 ^_^」
「我也愛你喔,愛到像這疊收據這麼厚呢 ^_^」
「XXX ^_^」

剛剛好像被比了個手指?一定是錯覺吧。提著沈甸甸的戰利品,左搖右晃回去上工。

繼續閱讀 “GM2019第五日–驚濤駭浪後的休憩"

GM2019第四日– Breathwork,bottle pickup,office hour,夜包漫威島

今天一早走入早餐區,就可以感受到一股躁動的氣氛 –– 因為,今晚我們會包場環球影城Islands of Adventure中的漫威島! 平常早餐時間大家多是互相寒暄一下GM目前過得怎樣啦,時差調好沒昨晚睡得好不好啊,做專案還是上課啊,今天則大多在討論晚上的行程,有些人興奮到眼睛都要瞪出血來了。

不過玩樂前該做的還是得做,我們貼心的GM籌組小組似乎為了避免大家被腎上腺素沖昏了頭,早上的Keynote安排了Breathwork體驗。

繼續閱讀 “GM2019第四日– Breathwork,bottle pickup,office hour,夜包漫威島"

GM2019第三日–主題演講佐馬拉松式討論

動真格的日子來了,GM的一切歡笑與崩潰,就在這一天開始。所幸亞洲區夥伴們–通稱Asiamatticians,自有妙方:以亞洲區點心交換會開啟一天。

滿了,都滿了…
印度、印尼、越南、泰國、日本、南韓、馬來西亞、巴基斯坦以及俺們台灣,來自亞洲各區的好貨一瞬間堆滿整張桌子。我今年帶的是義美小泡芙、義美煎餅、戲院口魷魚和俺太座大人手工製作鳳梨酥與珍珠奶茶酥;太座大人產品甫上桌就消失在人間,彷彿不曾存在過般,令人感到溫馨。三年前我們第一次辦這個早餐交換會時人只夠坐一桌,現在已經要擠三張桌了,看來明年四張甚至五張不是夢。

吃飽喝足,就是早上的主題演講時間了。

繼續閱讀 “GM2019第三日–主題演講佐馬拉松式討論"