我在淘寶做前端的這三年 — 第三年

於江水發表於2019-03-08

轉眼已經離職半年多了,早就想寫一篇工作總結,但由於一直在準備英語考試,又需要處理結婚和房子裝修,沒想到一拖拖了半年。在淘寶做前端是我第一份簽了勞動合同的工作,在這個人才濟濟的大公司裡,接觸了非常多的人和事物,也學到了非常多的東西、開闊了眼界。所以還是有必要做一個回顧和總結,一是自己備忘,二是或許對一些前端新人有所幫助,因為這篇文章會涉及到一些入職、職業規劃、招聘、晉升、離職等方面的資訊。

由於篇幅過長,三年總結將會分三篇釋出,當前是第三年:

第一篇(第一年)主要總結如何進入淘寶要用什麼樣的策略,如何站在老闆視角看問題,我眼中的阿里文化等(已釋出:juejin.im/post/5c74d4…)。

第二篇(第二年)主要總結如何評審需求和推進專案,如何理解業務,飛冰專案的起源等(已釋出:juejin.im/post/5c7daf…)。

第三篇(第三年)主要總結如何管理開源專案、推廣專案,對招聘面試的思考,以及技術危機,我離職的原因,技術移民的考慮和未來規劃等(已釋出:juejin.im/post/5c811e…)。


擔任 ICE PM 並負責將其開源

2017 年 5 月,新財年開始了,由於原 ICE 負責人調離到其他專案,所以老闆需要指定一個新的 ICE 負責人。由於我作為初代開發者,可以說是最瞭解 ICE 體系的人之一,又什麼都願意幹,就順利成為了新時代的 ICE PM。之後調整了專案組成員,整個小組算上我一共四個人。目標是開發併發布 ICE 10(可以理解為迭代到非常高階版本)和開源。

任務還是很艱鉅的,當時 ICE 算是一套腳手架 + 一堆業務元件和基礎元件 + 教學文件,這些東西其實沒什麼技術含量和創新,怎麼可以達到 ICE 10 的版本?開源出去又怎麼能跟其他專案區分?

由於一些雙十一工作,直到國慶之後我們才重視這個問題,經常腦暴要怎麼做。始終跳不出來原有的思路,這樣顯然是完不成目標的。老闆提了一個方案,可以通過視覺化客戶端來提升開發體驗並擴充套件更多功能,開啟了新思路。如果命令列工具看作二維,那麼 GUI 客戶端就是三維的了,在三維空間中,我們可以做的事情太多太多,以前命令列選模版只能看到文字上下切換,用了 GUI 直接可以看到效果圖並用滑鼠選擇,視覺化搭建也不是問題。於是 10 月 31 日晚上我連夜畫出了第一版 Iceworks 的原型和工作流程,小組開始進入 ICE 的新的階段開發。

我在淘寶做前端的這三年 — 第三年

經過技術調研,客戶端我們選用了 Electron 來開發,為了避免系統安裝的麻煩,我們直接將 Node、NPM 等二進位制檔案包到專案裡,這樣只需要下載客戶端本身即可使用。回想起這個過程,可以說是各種踩坑,不過最後都想辦法解決了。

“外出辦公日”的工作模式嘗試

我挺喜歡做專案管理和時間管理,有了 PM 這個頭銜之後,得益於老闆的開明,更是可以施展一些想法。我們四個人都有一半多時間在業務工作上,然而 ICE 才是工作重點,所以經常加班來開發,於是也攢下了很多調休時間。調休時間有有效期,而且給我們假期也沒法休息,畢竟事情幹不完。

由於我之前在大學的時候是自由職業,也曾經體驗過數字遊民的生活,所以我想出了一種辦法——“外出辦公日”。顧名思義,在某個大家確定沒有大事情的週五,我們集體使用調休請假。但由於活幹不完,不可能真正的休假,所以我們集體去公司外面,找個環境好一點的地方辦公。我們就利用調休時間專注開發技術方面的工作,業務上的事情可以暫放,並且因為是工作日戶外的人也相對少一點,比較輕鬆方便。

第一次外出辦公日,我們去了市區一個文化創業園區找了個咖啡館,中午開車一起去盒馬吃了大龍蝦,飯後逛了創意家居店,下午轉戰一家星巴克。第二次外出辦公日,我們去了西溪天堂的星巴克,中午在旁邊外婆家總店吃了一頓不錯的午餐,之後在西溪天堂逛了逛。

我在淘寶做前端的這三年 — 第三年
(圖為第一次外出辦公日)

體驗上來說,肯定是比在公司工作爽,但是工作效率受限於網路和座椅舒適度,並不算是很高。總的說算是給生活找點不一樣吧,留下點不一樣的回憶。後來我們覺得不需要去公司外面,可以在公司星巴克或者找個封閉會議室工作,中午開車出去吃,下午早點下班也是挺好的,可以兼顧工作效率和體驗。

專案冷啟動和迭代節奏控制

由於專案啟動較晚,快要到 D2 了,ICE (開始啟用外部品牌名:飛冰) 產品還沒有上線的可能。不過我們還是希望抓住這個機會先宣傳一下,所以迅速列印了個海報,搞了個釘釘群,做了個介紹網站,讓大家感興趣的先進釘釘群、Star 一下。這算是第一次技術產品冷啟動吧。雖然最後吸引到了 300 左右 Stars 和大約一百多個人加群,但效果不理想,這個群一直很冷清,也沒有達到預期的內測效果。可能因為本身新版 ICE 概念挺複雜的,並不是一張海報、一個簡易站點就能介紹清楚的,更沒有實際流暢的產品演示,這很難吸引到真正的目標群體。

D2 之後我們繼續按節奏開發,還算順利釋出了 beta 版本。有一天我看到了知乎的這個問題《2018年了,大家都是怎麼從零開始新建一個前端專案的?》很適合介紹飛冰,但又覺得還不成熟可能玩砸。不過知乎新問題最火的就是最開始一兩天,火過了之後即便是有新答案,大家看過的也不會回來看了,只能硬著頭皮推廣上去了。GUI 的思路比較清奇,因此流量和 Star 迅速上漲,快速漲到了 1200 多。 相比第一次推廣,這次有 Demo 和跟其他問題的對比,讓人很容易理解這是什麼。因此來試用的有都是感興趣的使用者,所以算是比較成功的冷啟動。

之後我又開始 “壓榨” 小組成員了,因為剛釋出 beta 版本,有很多 Bug,新來的這些第一批種子使用者可謂是至關重要。用得爽了,開始分享推薦給朋友;用的不爽,開始罵、勸阻別人不要嘗試。一正一反,一個天堂,一個地獄。 所以立即召集會議,勸說大家先放掉手頭上其他工作,重點保障 Iceworks 的穩定性和使用者體驗,讓大家多多理解。我下午就用腦圖梳理了測試用例並進行了各種測試,並將阻塞性 Bug 分配給大家一起加班解決,所以還算順利沒有崩掉。但後來仍然零散看到有人說他之前遭遇過問題(其實我們很早就修復了)之後,就沒再用了。

所以我特別理解產品經理的緊急需求,有時候一個業務的成功和失敗可能就在這短短的一週時間內決定。 所以如果產品經理有緊急需求,我基本上先從業務閉環上來看這個需求真正的緊急性和重要程度,如果真的緊急,是會加班想辦法快速落地上去。

之後就是繼續回答問題,編寫相關介紹文章。同時建立專欄、鼓勵入群,留存有興趣使用者。當時還看了一些 Growth Hacker 的書,所以我將迭代節奏控制在兩週一個版本的速度,在專欄中釋出日誌。雖然這樣給團隊施加很大的壓力,但是可以有更多嘗試,也給使用者一種很年輕、快速迭代、積極響應的印象。可惜離職之後,好像就沒有這種釋出節奏了。

這又是一個 KPI 專案?

飛冰產品釋出之後,很多人都會評論問這個問題。是的,所有阿里開源的專案背後都有 KPI 考核,都算是 KPI 專案。其實國外的很多知名專案,背後也肯定有 KPI 或者類似的指標考核,畢竟開源專案最終是要給公司帶來收益,不然公司為什麼要花錢僱傭員工來維護這個專案。

從另一方面,沒有 KPI 的開源專案,儘量別用。就像很多個人自己玩的專案一樣,沒有目標和利益閉環,很可能很快就放棄不再維護了。 即便是非常有名的庫(例如前段時間 event-stream 被黑事件)當開發者背後沒有興趣和利益支撐,也會放棄維護。一旦開發者都放棄了維護,Bug 修復、安全性、新功能支援就別想了。

有機會站在開源產品開發者的角度看使用者反饋,會發現總有一類人會冷嘲熱諷,甚至自己都沒理解就開始評論,這種我一般會懟回去。正確的做法至少先確保自己理解了,然後覺得有問題直接提,哪怕語氣不好我們也很願意接受。但自己都不先了解,跟風來個:“喲,快看,又一個阿里的 KPI 專案出來了。” 其實一點也不好笑。倒不是說不能接受批評,而是幾個人辛苦搞出來的東西,接收到這種毫無意義的評價太難受了。

關於招聘和麵試的思考

今年做了 PM 之後,老闆更是 “授予” 我招聘的許可權。由於具備更高的許可權,有機會看到一些面試者面試經歷和麵試官的評價。

看下來,感覺面試的運氣成分還是挺大的。而且特別低效,我電面一個一般會根據簡歷描述和專案再加上我們團隊自己的技能需求模型來設定問題,面試可能要 30 - 60 分鐘,準備這些也得半小時,所以電面一個的成本要接近一個半小時,而且絕大部分都沒有通過,成本太高了。

後來在知乎看到了 Google、Facebook 這些公司的招聘方法和討論,感覺更合理一些。北美公司基本上都是先一輪演算法面試,題目大都是確定的型別,基本上鼓勵你去提前刷題,然後來看你的水平。這其實是一種降低面試結果不確定性的方法 ,因為對於相同的難題,在給出時間進行準備後,不同的人對題的解法是可以看出水平差異的。有的人笨,但是願意下功夫,仍然可以得到不錯的成績,有的人水平高,自然更能拿到更好的成績。如果給了同等的預習機會都沒做好,還說自己有很強的實力和學習能力,顯然是站不住腳的。

所以我傾向於按照自己團隊技能模型設定開放性問題對外公開的模式來招聘和麵試。 開放性問題設定的好壞很關鍵。比如 winter 很早之前就提出過的一個 CSS 面試題:css的position屬性有哪些取值,它們的行為是什麼? 這道題就可以很好的分層求職者,初級水平知道有幾個值就自認為可以完美解答,但真正深入研究過的,則知道更深入的各種排版渲染屬性疊加後的行為,補充更多細節。對於面試官很容易通過開放性的問題衡量求職者的深度。

這樣初篩比較節約時間,對於面試官拿著準備好的問題即可。對於面試者,也可以儘可能提前準備下,避免臨場發揮失誤導致錯失機會。此外通過問題,面試者也能知道這個團隊主要發展方向,並對自己水平自測。百度 FEX 團隊幾年前就有這樣一份招聘問題,就很值得借鑑。

離職後,我也變成了求職者,也有了疑惑:自己應該做什麼樣的準備、學什麼樣的內容好找工作。 後來發現我想反了,不應該讓自己去 “適配” 可能出現的工作機會,而應該專注自己興趣所在,將自己感興趣的技能模型的內容學到比較深的層次 ,這時候匹配這個模型的崗位就很容易選擇你而不是其他什麼都學一些的人。特別是大公司,更看重技術深度。所以如果你有意向尋找機會進入大公司,可以先梳理自己的興趣產出技能模型(比如是做資料圖表視覺化?富文字?前端測試?還是工程工具等),然後再找對應公司的對應團隊或者崗位。比較好的團隊還會有開源專案,可以深入去看看並且貢獻,貢獻的多了或許直接就招進來了。

此外,證明你具備這種能力也是必要的內容。對於一個技能點附加上寫過的總結、做過的分享作為“證據”,那麼會更加可信並且便於瞭解你的真實水平,提高篩中率。所以我自己但凡學點新東西,至少寫個筆記或者文章,最好做個專案實際在程式碼層面用上。

技術危機

從上文就可以看出今年寫的程式碼不是很多,主要工作有很多業務推進、專案管理以及招聘等比較雜的事情。而且不同於往年雙十一之後有喘息時間,一直在忙。更關鍵的是,我的技術危機也浮現出來了。這種感覺就像一直在吃技術老本,只在自己工作範圍內的相關技術研究的比較深入,外面世界新技術非常多而且先進,但又苦於無法在工作中落地、缺少時間和精力,很難學習。

技術能力對技術人員還是至關重要的。 業務能力比較難客觀衡量,實際落實的業務程式碼通常是沒有很高技術含量的程式碼。技術產品方面,我更多處於一種打雜的狀態,通常這個地方進度慢了,我就補上去開發,對外宣傳培訓、製作海報、合作對接等,基本的都是我先頂上去,這些顯然沒有技術含量。我雖然對各個系統都很瞭解,但都不夠深入。

老闆也發現了這個問題,協助安排我一些脫離主線的偏技術性的工作,但由於主線飛冰事情都忙不過來所以也一直延期沒做。無論如何,我發現我好像沒有技術抓手,而且一直處於非常忙碌壓力山大的狀態,很難有所突破。

越是這種忙的時候,越不能渾渾噩噩過去,要找下解決方案。我有個習慣是遇到很難解決的問題,就去找下知名人物的傳記看看,看看他們在我這個階段在做什麼,會有什麼樣的思路。

之前各個階段看過比爾蓋茲、李開復、馬雲、賈伯斯、祖克伯等傳記,受益頗多,這次我從雷軍和馬斯克中選擇了馬斯克的傳記《矽谷鋼鐵俠:埃隆·馬斯克的冒險人生》。我趁著春節放假,第一次一口氣廢寢忘食的讀完一本傳記,簡直為我開啟了一扇新的大門。

書中給我震撼最大的句子如下:

  • “我們這代人中最聰明的大腦都在思考如何讓人們點選廣告。” Facebook 早期工程師 Jeff Hammerbacher 對我說,“這太糟糕了”。
  • “我們想要會飛的汽車,而不是 140 個字元。”
  • 拉里·佩奇說:“我認為我們就是沒有用這種觀念教育人們。你應該具有相當廣博的工程學和科學背景;你應該接受過一些領導技巧訓練、MBA培訓或者具有經營業務、組織活動和籌集資金的相關知識。 但我認為大多數人都沒有接受過這樣的培訓或教育,這是個重要問題。工程師們通常只在一個固定的領域內接受培訓。當你能夠綜合考慮這些學科時,你將會產生不一樣的想法,能夠夢想實現一些更瘋狂的事情,想象它們會怎麼運作。我認為這對世界來說才是最重要的。這樣我們才能進步。”

人類渴望巨大的科技進步,然而最聰明的人現在卻在網際網路公司研究怎麼讓人們點選廣告。繼續留在阿里,可能會深入技術慢慢晉升,也能創造很多價值,而且雙職工的收入也完全可以在杭州過得非常舒服,離職打破就是啥也沒有了,但有一定概率可以創造更大的價值。在阿里彷彿看起來是一條未來確定性很強的路,而我還年輕還能折騰折騰。最終我選擇執行 PlanB:技術移民紐西蘭。

為什麼選擇移民紐西蘭

為什麼要移民,為什麼選擇紐西蘭,為什麼要選擇這個時間點去?其實是幾個原因交織在一起:

  • 自己一直在國內,視野相對比較窄,所以趁著自己還沒有小孩還年輕能折騰,想出去見見世面,體驗體驗新生活。
  • 阿里在做國際化時,馬雲分享過說下一代阿里巴巴領導者必須要有多國背景。通過熟悉多種文化、語言,方便站在更高的角度看問題。側面說明了國際化的重要性。 為了學習比較西方的思想和習慣,亞洲這一圈基本 Pass。
  • 上面拉里·佩奇說的技能正好是很多技術創業者所缺失的。我也極度缺乏這方面知識,會需要很多空閒時間來補齊。 所以高生活壓力的國家 Pass。
  • 希望可以拿到綠卡,擁有居民身份。正如國內落戶一樣,長期在一個城市中生活,如果沒有落戶可能會沒有歸屬感,做很多事情也比較受限(購房,小孩上學等)。
  • 歐洲目前看起來比較動盪,而且不是移民國家,歧視可能會比較多,難度也很大,Pass。
  • 美國川普上臺政策很不明朗,而且移民難度就不用說了。此外 IT 行業崗位競爭難度也不小,自己英語不是很好,技術本身也有點生疏,演算法更是基本忘乾淨,如果強行去面試大公司很可能沒戲,小公司可能很難擔保你的工作。風險太多,時間太長,戰略性 Pass。
  • 之後就是霧霾空氣之類的因素,剩下的常見選項中,紐西蘭和澳大利亞都滿足。
  • 雖然紐西蘭相比澳洲人少,市場和工作機會都少,但是 IT 屬於緊缺行業,在國內的經驗可能會比較有競爭力。此外綠卡比較好拿,而且是全球唯一的無移民監永久綠卡。此外紐西蘭是島國,除了島民全都是移民過來的,所以歧視理論上會少一點,而且有點世外桃源與世無爭的感覺,人據說也挺和善。所以比較適合閉關進修,體驗生活。
  • 除此之外,對於高技能人才,紐西蘭還有特殊的銀蕨簽證,每年全球 300 個名額,搶到就發工籤,找到工作就可以留下,是最輕鬆的路線。
  • 最早關注紐西蘭只需要打分夠 140 即可,當時算下來到 2020 年離職正好,可以拿到很多收益,同時打分也夠。結果後來就漲到了 160 分才可以,這樣就基本要有當地 Offer 才可以夠分了。側面說明各國移民政策是在不斷收緊的,最好的移民時間是昨天

所以趁著婚假登陸邊遊玩邊實地考察了一下,感覺真的很不錯,沒有什麼陌生感。再加上對政策收緊的風險預估(果然後面進一步收緊),所以就提交了離職,提前開始執行 Plan B。

經過後續一段時間的交接等,跟戰鬥過的同學們一一告別,我的淘寶生涯 last day 最終定格在了 2018 年 6 月 1 日。

第三年總結

第三年對業務的理解更加深入,也比較積極的推進業務,雖然很多嘗試最終沒有取得想象中的結果,比較遺憾。技術方面也有幸成為了飛冰 PM 並管理進展將其推向開源社群。今年雖然小組人少了很多還都是兼職,但個個都是精兵強將,所以才有現在的開源版本。

從最初的目標來看,飛冰並沒有達到 10 的版本,頂多算是 2.0,所以技術這方面結果並不能算是特別好。不過可能業務上前期投入比較多有加分,仍然拿到了不錯的績效。

關於網際網路加班這個事情,很有爭議,在阿里我自己加了不少班。但我認為加班都是自己選擇的,並不會特別在意這個問題。其實早在上學階段我們就一直在拼“加班”,不聰明的人想要考試成績好,就得多花時間看書學習。 所以剛畢業時我選擇犧牲一些時間和身體健康,多學點東西,以後就減少加班了。

由於身體考慮和技術危機等我也開始尋找新出路,得益於馬斯克的啟發,我制定了新十五年的大體計劃。未來我將會在紐西蘭繼續做 Web 開發者,深入學習相關技術,自己做一些產品試水,同時補齊英語、MBA 等缺失的技能,並且確定後續幾年要做的具體事情。當然也可能開始習慣紐西蘭慢生活,提前進入養老模式,這個就留給未來慢慢探索吧。

回頭來看,非常幸運能擁有淘寶前端團隊的這個工作機會,也非常感謝老闆們和一起奮鬥過的同事,從他們身上也學到了很多,也得到了很多照顧。 唯一比較遺憾的是沒有嘗試去晉升 P7。因為晉升面試在 7 月份,如果我打算參加就需要準備很多東西,再加上今年沒什麼技術抓手,也基本沒什麼希望晉升,而且參加可能會延後移民進展。即便十分僥倖的晉升了,搶了別人的機會之後突然離職可能會對團隊造成比較大的損失,於是就算了。

離職之後

離職還是要慎重,尤其是裸辭。攢下的錢會以超出預期的速度很快花光,所以目前我的文章、專案等都放著捐款二維碼,群裡的紅包也開始搶了,以前有工作的時候,基本不做這些事情 ^_^。

不要高估好看的美劇的數量,四個月就可以刷到劇荒。又刷完了全套的星際爭霸 1、2 的劇情和古墓麗影。

之前健身大半年沒有效果,因為頻率不固定,飲食不好控制。離職後兩個月規律健身,調整作息,都是自己在家做飯吃,減掉了十多斤,也再也沒有半夜拉肚子那種情況了,身體素質好了很多。不過現在鍛鍊少了,開始輕微反彈了。

英語考試是個門檻,之前一直有所準備,所以低估了難度,浪費了時間,模考後受到了很多打擊。最後閉關 40 天覆習,頂著巨大壓力考出來了。之後還寫了《專為程式設計師編寫的英語學習指南》分享一些學習經驗。也十分感謝這段時間老婆的悉心照料。

同時也很幸運的成為了全球 300 分之一,搶到了銀蕨工籤。沒多久紐西蘭政府就發表了新提案,因此新一年銀蕨不一定開放了,而且繼續提升僱傭外國人的門檻,促進本地人就業。幸虧今年離職了。

我一直有個記錄時間和寫週報的習慣,在家工作沒了干擾,所以很容易分析時間浪費和工作效率,因此對自控力也有點研究。自控力就像消耗品,休息過後最強,慢慢消磨,消磨殆盡之後很容易被誘惑做不理智的事情,同時心態也容易崩,容易抑鬱。 所以週一早上最強,遞減到週五晚上。所以工作安排上,應該將最重要而且最難的安排到早上(幸虧之前開發富文字是早上開發),然後晚上早點休息,因為效率太低白白浪費時間,雖然有時大腦會欺騙你讓你很興奮。

睡眠應該是直接影響生活、身體、工作效率最嚴重的變數,效率低、心情不好、遇到難題,睡一覺就好。備考英語期間,長期高度精神壓力,產生了腸胃和睡眠問題,同時導致心情抑鬱。我覺得壓力控制和心理疏導應該放在義務教育裡面,太缺乏了。回想之前工作中,其實也有高度精神壓力的時候,但由於變數太多自己卻意識不到。 所以創業之前應該要學會調整壓力,否則時間久了很容易出現心理問題,甚至做出很多衝動的事情。

全文完。


以上就是我在淘寶第三年的經歷和學到的東西。歡迎關注我的掘金帳號。平時在知乎也很活躍,有知乎的也可以關注我的知乎賬號 於江水 、專欄 於江水在知乎 以及 我的 GitHub,以便看到我後續的作品。也可以加我微信:Jiangshui-Yu 。

此外,預計今年 5 月份,我將登陸紐西蘭找工作,如果你在紐西蘭或者有認識在紐西蘭做開發的朋友,希望可以聯絡我或者推薦給我,屆時或許需要請教一些問題或者幫忙內推,先謝過了。

相關文章