今天小編分享的科技經驗:十年遊戲“老”測試,決定裸辭,歡迎閲讀。
本文來自微信公眾号:吹火車咯(ID:blowthetrain),作者:喻折,編輯:無荒,原文标題:《「末流」玩家:一個十年遊戲測試決定重開》,題圖來自:視覺中國
"一帆風順"在某種程度上意味着天真,以及厚度的缺失。當盧安的人生總是被周圍人評價為太過"順利"時,他很清楚這種形容暗含的指責和輕視:命好、沒吃過苦的幸運兒。
缺乏挫折的源頭另一端是缺乏野心,他從不否認這一點,并對此頗為自得。盧安的"順",當然不是那種平步青雲或者拾級而上的"順",而是在舒适圈裏随勢漂流,如魚得水的"順"。人們有理由相信,普通人能夠免于失敗的召喚,是因為在一開始就規避了任何潛在的超越性挑戰。怎麼可能不順呢?在人生的諸多可能性中,盧安永遠懂得選擇最輕松的那條路。他不必精心設計逃跑的路線,因為他走的每一步都是安全出口,他從不折騰。
大學畢業後,盧安進了成都一家遊戲公司當測試工程師,頭銜從初級到資深再到主管,此後十一年,他從來沒有換過工作,甚至沒有一次付諸行動的跳槽嘗試。
"我這個人很無聊是不是。"他經常和妻子曾穎這麼總結自己,但這是個倒裝的猶豫問句,期待着否定。在外界看來,做遊戲是一件挺酷的事,至少和其他枯燥的工作相比:它應該是一種兼具藝術性和商業性的創造,或是有機會中頭彩、獲得巨額分紅的職業。然而盧安參與過的項目大多是商品化手遊,處于圈層鄙視鏈底端且并無爆款,而他的職責不過是這些流水線"創世"步驟裏最無聊、最末流的一環:Quality Assurance。
在一個分工明确的遊戲開發團隊,每個位置都有讓人羨慕和憧憬之處,哪怕只是誤解。策劃在核心設計和功能構想中支配世界的走向,劇情、關卡、數值,他們是體系的掌控者;美術在形象繪制和細節填充中賦予世界以肌理,場景、互動、特效,他們是風格的父母;程式或許比較尴尬,敲代碼同樣是件苦差,但他們仍然有可能在每一個需求的實現得標注自身的終極價值——讓這個虛拟世界得以運轉的真正造物主。
但沒有人想成為一名測試,只是為了在成千上萬次重復的撞擊試驗中,确認世界某個角落的城牆是否穩固,然後換個方向繼續撞,并且拿的錢最少。
"我不懷疑有人天生就喜歡找Bug,但你不可能真的從這種工作中獲得成就感",盧安説。如果有求職者在面試時用"喜歡"或"熱愛"等陳述來美化應聘測試的動機,他會一笑而過,避而不談這種違心的"求生欲",簡歷上的背景會告訴他一切:要麼學歷不高,要麼經驗不夠。如果碰上那種985/211院校出身、專業和經歷都匹配的候選人,那麼他再熟悉不過了,多半是上學的時候沒有好好努力,代碼能力不強,跟他一樣。
2012年,盧安從四川大學軟體工程學院畢業,雲裏霧裏的學渣生涯愉快結束,其捉襟見肘的專業績點對應着一個簡單現實:學了四年計算機的盧安并不怎麼會寫代碼,無法成為一個合格的程式員;他想去做遊戲策劃,但應屆生身份和其乏善可陳的社會經歷并不能提供什麼背書。
更重要的屬性説明是,他還挺喜歡玩遊戲,也算玩過一些遊戲,但這種遊離在好感和略懂之間的業餘程度對于這份職業來説是遠遠不夠的。事實上,在當時、甚至往後的人生裏,盧安都絕無可能達到那種"頭号玩家"的标準和純度,他不夠敏感,也不夠痴迷。
承認吧,一個人會去應聘測試,只是因為他沒有更好的選擇。測試是進入遊戲行業或者互聯網行業門檻最低的途徑,幾乎沒有門檻,很多人将其視為一個起跳板。盧安一次次入水,然後回到原點,就像無數個測試任務,在屬于他的淺水區,無數次循環。慢慢地,他開始習慣,然後越做越好。如果説測試是一份無聊且悲哀的職業,更悲哀的是允許自己去想象并接受,他會不會剛好适合。
在餐桌上、聚會上、瞌睡的旅途中,甚至在自己遙遠的夢境裏,他時常會聽到那個問題:你的工作到底是做什麼的?來自陌生人,熟悉的朋友,也來自他的妻子。那些漫不經心抛出的疑問往往并不能通過"測試"這個回答得到闡明,有一部分至今仍混雜着"碼農"的誤讀,但也很快随着"邊緣角色"的解釋被擱置了。他知道,他們并不是真的好奇,他也并不想真的解釋。
沒有人會對一名測試產生好奇,人們最大的好奇是他竟然能雷打不動地堅持十一年。直到盧安裸辭的那一天,他丢掉了寫滿測試用例的安全地圖,也終結了他身上唯一的神秘性。
隐藏關卡
寫字樓電梯廳的四個"上升"按鈕同時亮着,盧安等的那一台遲遲沒有到。離上班打卡還有十分鍾,他沒有盯着視窗的樓層數字,但那個一直發光的向上箭頭倒是讓他有些恍神,直到它突然閃爍,連同一圈光暈黯淡下去,盧安被身後等待的人群半推了進去。電梯裏還有兩個他的同事,他們對盧安并不熟悉,更不會知道他昨天剛剛升了職。
電梯勻速上升,控制面板上也有一個橘紅色的上行标識在閃光,他還在恍神。
前一天上午,盧安所在項目的制作人陶和平将他喊進辦公室,一番長談,以肯定和賞識他近來的工作表現開場,然後預告他的職責将從測試主管更新成項目經理。這是盧安在公司的第九年,他終于迎來了職業生涯迄今為止最大的一次升遷,也是他脱離測試軌道的最好機會。
沒有野心的職業側寫更多可以歸結為安于現狀的懶惰,但盧安從不輕看自己。雖然從來沒有做過,不過"只要想做的話,我想我不會做得太差",他完全有理由這麼想,公司也正是出于這樣的信任選擇了他:如果讓盧安去做一件事,他會非常認真。
作為近十年的測試老員工,他的忠誠值得信賴,而他的基本職業素養是關注細節,和從來不犯大錯。你不太會期待他會給你驚喜,但更重要的似乎是觸發"保底機制"——他不至于搞砸。
PM(Project Manager)其實并非小型遊戲團隊的标配,有時,遊戲制作人或主策劃等人就兼顧了其職能。但随着自研遊戲產業的項目規範化,一個既熟悉各環節流程又具有成熟管理能力的項目經理變得不可或缺,且同樣是核心人物。盧安所在的這家遊戲公司規模中等,近年來產品表現平平,于是四處摸索、借鑑先進經驗,啓動遊戲PM這個崗位不過兩三年,内部其實還沒有形成一套完善的機制,也并未培養出優秀的經理人。也就是説,這一次等待被試錯的任務正是他本人。
莫名自信的飄飄然與即将邁出舒适區的茫然混合在一起,前者大于後者,就像電梯上行停止,開門前的一瞬間,奇妙而輕微的失重感從盧安第二天上班延續到了這周結束,起初,他的恍惚裏甚至沒有緊張的成分。四天後,所有同事的企業郵箱裏都收到了蓋着公章的人事通知:任命盧安為項目經理,制定開發計劃,全程管理項目產品開發,識别和控制項目開發風險,推動并最終實現項目目标。
此時的盧安才真正意識到自己的角色變了。他将測試主管的工作交接給了另一位同事,不再負責測試組的專項事務,轉而統籌全項目的開發進度。他做好了一切"準備"工作,包括和其他負責人同步團隊資源,熟悉版本計劃,規劃自己的工作面板;包括購入好幾本項目管理類工具書;還包括換了工位,就在制作人辦公室對面,他重新整理了一遍桌上物品,又花了不少時間擦拭鍵盤縫隙裏的灰塵。
他以為人生的新關卡,會有新的流程指引,難度更新是循序漸進,随之而來的還有系統不斷加成的成就感獎勵。他以為在小事上準備充分,就不會暴露自己在未知的關卡入口徘徊,其實并不知道從哪裏開始的事實。
然而他不過是立刻陷入了沒完沒了的瑣碎會議和匯總問題裏,穿梭在策劃組、美術組、程式組和管理團隊之間,什麼讨論都要出席,各種矛盾都要過問,但大多數時候,盧安的角色似乎就是記錄,整理和反饋,他的在場其實并不重要,而他的意見份量很輕,因為他在其餘任何一環都并非專業人士,無力解決真正的技術問題。
比如策劃和美術因為需求而争執,各有立場。策劃在設計時希望遊戲不僅玩法有趣,而且要體驗沉浸,喜歡做加法,提出了許多功能的情景化需求,想要視覺表現更富有鏡頭感和代入感;而美術覺得有些基礎功能的情景化需求根本沒必要,很難實現或花費時間過長,在每周要發遊戲體驗包的前提下不可能完成,有的情景化還會造成整體復雜度上升,并且影響功能體驗,需要反過來做減法。
作為項目經理的盧安不得不介入,但讓哪一方妥協都并非易事,美術會認為盧安并不懂其技術難點,而策劃大可以指責盧安缺乏遊戲設計的經驗。
當然,出于形式上的職權壓力和尊重,雙方還是各退一步,在某些需求上達成一致,剩下的由盧安去協調開發時間,然後和高層反饋。盧安其實算得上善于溝通,只是他平易近人慣了,還并不适應把自己架上去,對付那些需要擺一擺臉、态度硬一硬的"領導力"時刻。
在他人針鋒相對的怒火前,盧安的本能反應其實是逃跑,但責任需要他撲火,他只好端着滅火器相勸,平衡全局。只是在一種渺小的權威中,他難免感到尴尬或難堪。
于是,他明明花了很多時間去安排和修改版本計劃,去協調和處理反饋上來的問題,卻好像置身于一團不受控的亂麻孔隙中跳來跳去,只能通過觀測、監督,和優化移動的節奏來解開所有隐藏的繩結,他的任務是無窮,而他能做的太有限。永遠在更改的項目預期,永遠趕不上的版本進度,永遠在吵架的策劃和程式,每個版本、每個需求,每時每刻随機交纏出新的結。
盧安日常應對的不是程式那邊時間不夠,就是美術那邊又要delay,他又無法插手其組内工作,基本上只能勸策劃砍功能或者砍表現,通過減少需求來協調。他偶爾也會在項目群裏發火,條理清晰且精準打擊,無人敢反駁,于是工作效率就會稍微提升一點,但并不持久。
一段時間以後,盧安對"無法按時交付"的任務反饋已經是平常心,更怕有人隐瞞或美化真實的進度,直到deadline前才告知一句"做不完了",最後瘋狂擠壓測試時間,有時候剛剛做完,還來不及測就要打包發版,驗收結果又Bug連連,無法讓高層滿意。
高層本來就是難以取悦的,他們對遊戲表現有很高的預期,對商業成績有不俗的願景,但并不關心是如何實現的。做不好自然是下面執行有問題,如果多個環節的執行都有問題,倒推就是項目管理有問題。沒關系,所有業餘的項目經理,都會成為專業的接鍋大師。
三個月後,在項目大版本的重要復盤會上,陶和平當着所有管理者冷臉點了他一句:盧安,我覺得你做項目經理的這幾個月項目沒什麼變化啊,你也是。
這句話對他的打擊很大,并且因為是升職後第一次公開領受上級的失望而顯得如此深刻,以至于後來所有的批評面談都似乎容易接受了。制作人輕描淡寫地抹殺了他的努力,更戳穿了他一直以來"成長慢只是因為懶"的自我保護幌子。他讨厭這種嚴格又傲慢的審視,更令人讨厭的是其粗暴的判斷卻往往驗證為真。
也許就是從那場會議開始,盧安心裏一些穩固的東西已經在松動。他在所有高層面前匯報項目階段性成果,想要自我證明的決心前所未有地強烈,但是緊張得不停卡殼,手心裏的每一滴汗都能被那個房間裏匯聚的視線輕易穿透,最後得到的評價是那句"沒什麼變化",以及某位大股東陰陽怪氣的"倒是不用花那麼多心思在PPT的制作上"。
結果導向好像一種線性的暴政,否定了所有試圖接近卻歪歪斜斜的飛行軌迹,只有完美的抵達可以反抗。他覺得自己站到了安全區以外的懸崖邊上,無法繼續保持平衡。他确信自己有一天會掉下去。
回到主頁面
"再給你三個月。" 午休時間,盧安想起自己頭上懸挂的倒計時,也回憶起制作人在私聊時重新流露出的鼓勵,"我們對你的期望很高,也相信你可以快速成長。" 他在啃一個雙層吉士堡,這次點單時忘記去掉了番茄醬,味道不太對勁,他明明已經去掉了酸黃瓜和洋葱粒,但還是覺得刺鼻。
或許是那些暧昧不明的要求、期許和醬料攪在一起,在嘴巴裏微微發膩。
這家麥當勞人流不多,是他最近偏好的用餐選擇,從這裏走回公司需要15分鍾,他會戴着耳機散步、放空,停下來看那些灰撲撲的房子,或者路邊不認識的樹。這是他一天中最放松的時刻,然後他必須擰緊發條至深夜。為了趕在倒計時停止之前做出點成績,盧安最近每天都加班,九點以後是常态,經常會到十一點,甚至一兩點。
但他加班的痛苦并不是事情太多做不完,而是承擔着巨大的時間壓力,卻只能目睹時間如何被浪費。催進度、等反饋、盯執行、解決問題、又出現新問題……如果前面的工作完不成,他這個項目經理只是等待的奴隸。
其實,這種時間苦役他在做測試的時候就駕輕就熟了。每周的發版日之前,本該有預留的時間給他們跑遊戲、Debug,最後打包發布,但經常到了發版日下午,程式還沒做完, 作為遊戲開發的最後一環,即使在其他人交付之前明明已經無事可做,測試組也只能一直等。等到傍晚終于可以測了,結果一堆Bug,又要繼續等程式改,再一等就到了第二天凌晨。
從前只是測試的時候,盧安就自如得多,可以無所顧忌地逃走。帶薪拉屎,摸魚聊天,手遊連線……在無人召喚的漫長待機區,他最喜歡偷偷溜去公司樓下的便利店買根烤腸,大快朵頤,然後一個人吹會兒風才慢悠悠地上去。就算熬到三四點,他也沒什麼心理負擔,只是單純地厭惡"加班"而已,左不過回到家和曾穎罵罵咧咧地吐槽一句"垃圾程式",發泄怨氣。
而項目經理盧安不能隐身,他必須在場,至少想象中其他同事的注視要求這種"必須",他的延長考核期在鳴笛。當然,現在的他已經無法再把責任歸咎于某特定的一方,因為他看到每一環都打着亂七八糟的結,自己怎麼也推不動。
又是一個發版日,策劃又在發版本之前臨時加需求,盡管盧安在開會時多次強調過要避免類似情況,但每一個身經百戰的策劃都擅長argue自己需求的"優先級",他一不小心就會落入"死板"之嫌。晚上十二點,下班無望,他給曾穎發了一個"擺爛"的貓貓表情包,"做項目經理好難啊,我可能要被發配回去做測試了。"
一語成谶,他的加時賽提前結束了。離三個月還差八天。
遊戲做了這麼久,最新版本連首日一半的内容都沒有做完,上面對開發進度很不滿,下了"明年年底上線"的死命令,同時主張項目經理換帥。于是,盧安只好離開隐藏關卡,退回去做測試主管了。
薪資不變,責任松綁,倒不如説是得償所願。當項目經理快半年,盧安天天發愁項目進展,擔心"自己做不好,可能會被薅下來",真正下來的時候,他感到無比解脱,眉眼都舒展了不少。中午他又去吃麥當勞,漢堡很合心意,還有買一贈一的麥樂雞,麥門,他無聲復讀。他是忠實的信徒,對麥當勞唯一的怨言就是十點半後就停止供應豬柳蛋堡,那是他的人生食物,他的精神圖騰。他的快樂很多時候就是一個豬柳蛋堡這麼簡單。
這種好心情延續了很多天。和朋友吃飯被詢問近況時,他很自然地分享了這個消息:"我不做項目經理了。"對方以為盧安多少低落,試圖安慰他沒關系,以後還有機會。"這福氣他還不想要吧。"曾穎插話打趣,"現在他可輕松了。你們都不知道他那天回家時臉上的笑容,從來沒有見過誰被降職了那麼開心的"。
坐實自己"不求上進、樸實無華的樂子人"人設,盧安也跟着笑了。他并非對其中的膽怯毫無省察,只是他試過了,他知道自己的限度。這種限度很大一部分來自于他自身,他從前的懈怠,他知識體系的單薄,他偏好回避衝突的性格,但從相同的崗位出發,他也深信自己的業務水平,既有的經驗、認知等綜合能力絕對處于行業的标準水平之上。他不可能沒有遺憾、不甘,還有更多的懷疑:末端測試的突破性職業成長是可能的嗎,他們是否也會受困于相同的匮乏?
在目前的行業環境中,測試和其他工作一樣,晉升通道不外乎技術向和管理向。有心修煉技術流的測試,必須具備一定的代碼基礎,編程語言的能力決定了測試技術的深度。一般的測試工程師往往是"黑盒測試",不知道盒子裏是什麼,只能根據外在表現診斷。而測試專家多往"白盒"方向發展,能讀懂盒子裏的代碼,了解實現邏輯,也能熟練撰寫自動化測試腳本、測試工具,即測試開發。最終甚至可以負責搭建并維護整個公司的測試框架,成長為行走的"測試中台"。
但除了硬性的代碼素質,這條路更稀缺的其實是本身對測試工作的興趣和自驅力。互聯網行業過去重開發、輕測試,許多開發能力強又有上進心的測試更願意直接轉去做程式,上限高,工資又比測試香得多,何樂而不為。畢竟,程式大牛搶手異常,但測試大神聽起來似乎冷清得多。
而管理向的晉升往往從小組管理再到整個團隊的管理,也是盧安原本的航線——測試主管到項目經理。做管理并非不看技術,而是首先得以業務能力服人,才能得到帶隊的機會。盧安從畢業就進了公司,跟過大型RPG網遊、SLG、卡牌等各種項目,掌握的測試方法和測試工具多樣,負責的功能也很少出問題。代碼能力是他的短板但這些年也有長進,雖然不能像白盒一樣直接調試代碼,但寫個簡單的小工具也算得心應手。
多年的測試經驗能夠讓人在應對大型系統時覆蓋的全面性更高,出錯的幾率更低。而天然處于最末端的環節特性,其實可以培養測試人員對于開發全局的理解和工作推動。至少,對于盧安來説,項目經理的成長目标是适配的,這份優勢已經被喂到了嘴邊:一直以來,公司對測試的權限就比較大,職能要求也偏全流程的風險控制。測試組要負責最後的打包發布,而測試主管的日常工作中,就承擔了一部分的版本管理和流程管理,協助推進項目工作。
但在許多IT公司内,測試仍然還是較為"低人一等"的純執行崗位,權限低、參與度也低,基本只負責功能測試,在整個開發鏈條上的定位絕對後置且相對封閉,成長性就更低了。在這種情況下,轉項目經理的潛力很小,還不如去鑽研技術,成為測試開發現實一點。
如果不想死磕代碼的話,那些對設計理解比較深、產品經驗豐富的測試也可以轉策劃或者產品。不過,"專業的策劃團隊裏面都很難產生幾個優秀的策劃,更别説有自己的本職工作,要用業餘時間來自學修煉的。大多數人不過是高估了自己所謂的‘有想法’。"盧安對此流露出輕蔑的不信,也或許是有心無力的自嘲。
所以,将測試視作輕松的職業起跳板很可能是危險的。一份機械且無聊的工作不一定能讓你有很多機會忙裏偷"卷",自我充電,而往往會消磨掉那些持有這種想法的人原本就并不多的才華與耐心。普通測試轉型或轉管理失敗的,要麼幹脆轉行,不然真的很有可能一幹一輩子。
在盧安的人生主頁面,工作的頭七年時間,他都只是一個執行測試。
有人戲稱測試工程師為"點點工",以為他們的工作就是運行軟體然後用滑鼠到處點點點,看哪裏會觸發問題,所以遊戲測試就是天天上班玩遊戲的閒差。盧安覺得雖然有誤解和刻薄之處,但也沒什麼值得反駁的,真實情況只是更枯燥罷了。
如果只需要點點點就好了,給賽博蘇打餅幹打孔,倒是一份适合發呆的好職業。但打孔之前,他先要對照策劃的設計文檔,把裏面的功能點提煉出來,圍繞每一個功能設計詳盡的測試用例,然後按照測試用例一條一條去跑,去"點點點"。一個功能入口需要反復進入,檢查不同的條件和結果,簡單的系統郵件功能可能需要寫幾十條測試用例,一個活動玩法兩三百條,復雜的跨服互動可能不止五六百條。
最基本的戰鬥數值測試,不僅要測玩家不同等級、屬性、裝備下的攻擊表現,包括正常攻擊、暴擊、Buff、Debuff等各種數值情況,确保策劃公式計算的數值跟遊戲内實際計算的數值匹配,并且前端顯示和後台匹配,更要考慮各種數值的區間、疊加和邊界,以及在戰鬥邏輯中多種運算的并發性:比如玩家和BOSS同時死亡的情況;攻擊觸發吸血和怪物反傷的百分比計算順序……
一場戰鬥打一天,根本沒有什麼玩遊戲的樂趣可言,只有"玩吐了"的疲憊。好在那時候工作和生活的界限分明,盧安并不厭惡這種枯燥。他會高效工作,然後信奉适度摸魚,到點就溜的原則,甚至不會把任何煩惱帶出寫字樓閘機。他本來就不渴望有所作為,當工具人也可以無痛,至少下班後所有的時間都可以用來躺。
他會遊蕩去附近的電影院看電影,也常常回川大小北門,吃他學生時代摯愛的幸福鐵板燒。一份組合燒烤食材的蛋炒飯,小小的不鏽鋼餐盤被堆得滿滿當當,鹽和味精嚴重超标,脂肪和幸福感都在過量的油裏搖晃。
當然,更多的時候盧安還是更偏愛宅在家裏。剛畢業那幾年,他同時在追好幾部美劇和漫畫,每天下午起就候着字幕組新鮮出爐的熟肉資源。或者一到家就打開電腦,啓動Steam,享受他真正的遊戲時間。
在有限的欲望和無限的滿足之間自洽且安穩,這是他料理膚淺生活的深刻訣竅。
解鎖成就
曾穎第一次看到盧安Steam遊戲庫的時候,知道了兩件事:這人是個不折不扣的模拟經營愛好者,以及足球迷。
但絕不是那種典型的重度遊戲玩家。他的列表裏遊戲時間最長的是足球經理,從《Football Manager》2014版到最新的2023版,每一個版本都在三百個小時以上,最長的将近一千個小時,而目前在玩的顯示679.3個小時。接着就是五花八門的模拟經營遊戲,大到星球、城市,小到動物園、遊樂園、醫院到墓地,他都經營了個遍,物語系列無所不包的開羅遊戲也幾乎是全收集。
盧安并不怎麼玩那些主流3A大作,比如《巫師3》《荒野大镖客2》《艾爾登法環》等硬核遊戲,他表示欣賞但覺得耗費精力,而且"電腦帶不動";他也不玩《英雄聯盟》之類的MOBA遊戲,競技性太強,他不喜歡那種壓迫感,總是對大型的對戰遊戲敬謝不敏,坦承"我太菜了,會被人罵"。
他喜歡《金庸群俠傳》,喜歡《文明VI》和《飢荒》,更不用説《星露谷物語》和《城市天際線》。無論是單機RPG,還是經營、策略或者生存類遊戲,都可以讓他一個人在遊戲中慢慢探索和開拓,去收集、管理資源,去建造或決策,這大概是他用最低的成本,能夠在這個現實世界獲取到最豐厚的體驗感和自由感。去年,他花了很多時間在《無人深空》的星系裏穿梭,"就像《星際穿越》裏穿越蟲洞的感覺,人類對宇宙的遐想真的好神奇哦。"他和曾穎感嘆,"在太空裏撿垃圾也很浪漫。"
他甚至不敢自稱為"遊戲愛好者",盡管遊戲的确構成了他生活中不可缺少的一部分。他覺得自己頂多算一個末流玩家,在安靜的角落裏解鎖一些奇奇怪怪的人生成就。
他和曾穎結婚以後,養了好幾只貓,并且一致決定不生小孩。他把"丁克"的想法告訴父母的時候,做了很久的心理建設,但還是在微信消息發出去以後馬上扔掉了手機,關機一整天。他三十多歲了,依然和小時候考試沒考好一樣心虛,害怕聽到父母的責備和否定。
其實,盧安的父母只是繼承了東亞家長的掃興傳統,在盧安的人生選擇上,已經算是尊重不插手的開明類型。雖然很多時候,他們的存在就已然是一種施壓。盧安的父親是一名外科醫生,擁有幾十年的手術主刀經驗。他的母親總是後悔,"盧安心細,和他爸一樣。當初要是也堅持讓他學醫就好了,現在至少也升到主治醫師了。"
但這可能卻是盧安最慶幸的"不聽話"勳章了。他才不要當醫生,在手術台上一站四五個小時,再微小的風險都可能随時爆裂,那種程度的精神壓力會壓垮他。他确實細心,但他寧願用這份謹慎來反復排查一個虛拟的錯誤,至少還有無數機會去修改,也沒有任何實體會因為這個錯誤而"崩潰"。
那個循規蹈矩,從來不敢松懈的盧安,在大學裏體會到不完美小孩的放縱滋味,逃課、挂科,打遊戲……他終于偏離了一直被要求"什麼都要做到最好"的預設軌道,在遠離監管的舒适區越陷越深。
大學畢業後,父母想讓盧安去深圳工作,當時他的父親被聘去當地一家醫院就職,深圳工作機會多,薪資水平也高,但在成都四年後,盧安不願意放棄他安逸人生的應許之地,去一個只有工作沒有生活的地方奮鬥。後來,母親又想説服他去國外讀研究生,提升學歷和競争力,但盧安以找到了一份穩定工作為由,不想再浪費時間折騰。
他就這樣一直留在了成都,父母也只好接受了他"這輩子應該不願意再挪窩"的事實,還提供經濟支持,讓他在成都買了房,成了家。他母親經常和曾穎念叨,盧安這輩子就是太順利了,以後早晚會吃大虧。"他從小就聰明,運氣也好,中考考進了市裏最好的高中,高考也沒什麼懸念去了985,畢業後又馬上找到工作。從來沒受過什麼挫折,所以現在不夠拼命。"
只有在和别人的談話中,盧安才會聽到父母的誇獎,盡管他知道這種表達也不算什麼真正的認可,和那些"我兒子其實很聰明,就是不努力"的盲目自信沒什麼區别。
而他們對自己的肯定還停留在高考,或許也説明他之後的人生只是在走下坡路而已。但盧安更清楚,自己的人生可以這麼順利,可以不夠拼命,這種"可以"是父母恩賜的"特權"。至少讓他現在免受房貸之苦,也沒有太大的贍養壓力。如果有什麼東西是盧安終其一生心虛的源頭,那一定是父母對自己的審判。
他不是心安理得,自然也不能完全躺平。尤其在結婚以後,盧安還是有了一些壓力,也意識到更多的責任感,畢竟他需要為伴侶和家庭的未來長遠考慮。他主動加班的次數變得頻繁,會在測試組内交流工作改進和提升效率的方法,也開始在下班後學習一些基礎的開發課程,用很小的創意拿來練手。
婚後不久,他就被升職為測試主管,職級從專業序列P(Profession)轉到了管理序列M(Manage),負責組内的任務分配、時間協調和人員管理,還包括新人的招聘和培養等等,而測試執行的任務比重逐漸降低。盧安長于觀察,也富有耐心,會具體安排并調整不同的人适合的不同方向,讓他們發揮長處,或者探索自己的邊界。他也很樂意通過對疑難問題的讨論總結,分享測試的通用技術點和自身經驗,幫助組員成長。
在測試主管的位置上,盧安連續在四個調薪季實現漲薪。測試組的隊伍質量和業務水平都穩步更新,這種遊刃有餘也讓他日後對職業生涯更遠一級的跳躍難度產生了誤判。
當主管不到兩年,盧安被邀請到了新遊戲的立項籌備中,也就是他即将上任PM然後慘淡退場的那個項目。當時,制作人表示要做一款有别于市場現有同質化產品的賽博風Rougelike,在玩法上另辟蹊徑,不以商業化為首要出發點,但要對玩家有誠意。盧安在前期讨論時就積極貢獻了很多想法,對這個新遊戲充滿了期待。
他從頭到尾目睹并參與了它的誕生、豐滿和未來迅速的變形。并在這期間遭遇了他人生難得可以稱得上的"挫折",還被公開處刑般地展覽了他"享樂主義者"的無恥勳章。
那是他當項目經理的最後一個月,陶和平召集所有主管開務虛會,在會上玩了一個自我剖析的小遊戲。每個人要認真思考三個定位問題,自己人生的終極使命/願景是什麼;在這個使命下自己需要滿足的身份是什麼;以及為了更好地實現它,目前的追求又是什麼。主程式很快就在白板上寫下了他宏大的願景:影響或改變這個世界一點點。他賦予自己的身份是創造者,現在想做出一款很牛X的遊戲。陶和平極為贊賞,但也鼓勵大家發揮,不一定非要是特别崇高的使命,真誠就好。
就像有同事表示自己當前的目标是"升職加薪",不得不成為"卷王",因為想要實現"階級躍遷"的使命。很真誠,很現實,也釋放了腳踏實地的信号。只有還活在夢裏的盧安,以為這真的是什麼暢所欲言的個性探索,答卷的最高願景一欄填着"個人自由",理想身份"自由的中產",而此刻的追求是"美好而精致的生活"。
陶和平肯定了他的誠實,然後無情地批判了他自我認知和追求理想的混亂不堪,"你説想過一種精致的小資生活,但你每天穿着沾滿貓毛的衣服來上班,哪裏精致了。"他諷刺道。
盧安和現場的其他同事一起尴尬地笑了。他知道,在陶和平的心裏,自己早就已經不再匹配項目經理的位置,而他毫無異議,活該接受這種判決。這個上司親自頒發的"每天帶着貓毛上班"的成就其實也沒讓他覺得多丢人,倒是真的很幽默,他回家後又和曾穎一起笑了很久,貓在旁邊莫名其妙。
盧安并不是沒有想過要成為一個"創造者"。他最近還在清理磁碟的時候發現過一個失落的檔案夾,那是他做主管前自學Unity開發的廢墟。裏面散落着很多策劃文檔、美術資源,還有他獨立完成的一個2D小遊戲demo。
但那些半途而廢的設計文檔裏,其實也沒什麼很了不起的夢想,大都是一些模拟經營的簡陋創意,電影制片廠、玩具回收等等,屬于他自己的小小樂趣。還有一個公路旅行的解密小遊戲,通過探索旅行途中的風景和物品,尋回主角失去的一段美好記憶,他當時還思考了很久劇情框架,最終又因為本職工作越來越忙而擱置,不了了之了。
工作有關于自我實現和價值實現,但我們心知肚明,這種終極的、缥缈的工作意義有多麼珍稀和遙遠,且難以培育,普通人被束縛在普通工作中就只是為了生活,或者更好的生活。進取心和野心都難免誇大一種虛假的激情,盧安很少有這種膨脹的自我感,只有具體的生活感對他很重要:周末和朋友一起喝咖啡、打桌遊;親手打造一整面牆的樂高展示櫃;回家擁抱他的妻子、他的貓。
他可以為此認真工作,但他直白宣布自己從不熱愛工作。盧安庸俗的享樂主義也許有時候是更實在的前進方式,不過其實也沒那麼靠譜,更接近于一種自説自話的天真,裏面還有更多陶和平難以理解的樸素"混亂"。他向往奢侈的生活,想住最豪華的房子,但他認定生命中最偉大的食物是豬柳蛋堡。
是否删除存檔?YES
盧安原本以為,回歸測試主管後,他可以繼續以稀釋的自我投入工作,持續而穩定地消耗。直到強勢降臨的周報制度要求他反復自我拷問,從每一個周五晚上開始就亮起警報,透支他的情緒勞動。
本周工作總結、下周工作規劃,他都還能理解其匯報功能,但公司大力推行的管理者周報,重中之重的板塊是心得體悟。一周的工作中經歷了什麼具體場景,有何收獲或教訓,團隊有何成長……每位主管需要總結心路"周"程,不能説套話、空話,不能復制黏貼,而是得寫出一篇真情實感的小作文來。起初,一份周報還在五百到一千字左右,很快就在隐形競賽中卷到了兩千字以上。
一看到盧安臉色凝重地坐到電腦前,曾穎就知道他又在"憋"作文了。在她看來,工作中有所領悟的時刻是難得的,收獲也有其階段性,所以才有價值。即使一個人或者團隊能夠持續成長,也不可能以周為部門定期摘取成果。"如果一個人在工作中每周都能有新的收獲,那麼這種感悟必定一文不值,甚至狗屁不通。"曾穎辱罵道。
盧安附議,轉頭痛苦地寫了兩千字,又潤色好久,才提交了這份電子垃圾。也不是完全沒用嘛,半個小時後,他收到了陶和平和現任項目經理的點贊提醒,根本掩飾不住笑意,然後被曾穎白了一眼,"服了,職場PUA的天選之子。"
關于被上級PUA這件事,盧安曾經還極力辯解,他相信公司是真的對他寄予過厚望才嚴格要求,只是自己太過"廢物",無法勝任更高階的角色。但他沒想到,失敗的印記也許會引出失望的慣性。那天他又被拉進會議室面談,陶和平開門見山地指出,他在現在的位置上似乎有點松懈,團隊止步不前。但招進來的資深測試黃宇倒是很有主見,性格也更加鋒利。他表示公司有提拔黃宇做主管的意思,讓盧安有點危機意識。
盧安懵了,和其他小組的"迷之狀态"相比,盧安自認他管理的測試組一直進展有序、氛圍主動。從項目起步時的4個人到現在7個人,他帶領測試團隊逐步擴張,組内績效穩定,其交付質量也是整個項目内部最讓人放心的。而且,他在組員的長線培養上都花了心思,每個人都能找到不同的突破方向,這是盧安如今在工作中最有成就感的事。
自己的性格或許温和了一點,但黃宇才入職兩個月,對很多事情尚未适應,還有"一點就炸"的明火危險,怎麼可能比他更适合做管理?他不知道陶和平是想要敲打一下他,還是真的想要換掉他,他感到很委屈。并且意識到無論是失望還是"你可以做得更好"的希望,自己面對的從來都是一種無法質疑的權威,他必須不停自證,來續約這份從屬關系。他得到的态度始終含混,而權威從來不需要為自己提供合理性。
與其反思自己,不如指責他人。停止内耗以後,盧安認清了這個項目就是一鍋漿糊,很多事情和他能力不足沒什麼關系:策劃組的開發進度至今還停留在遊戲首日;美術組的男女主角畫了一年沒有合格的;程式組主動發起一個框架優化任務卻遲遲完不成,不僅卡住了策劃的新設計和功能需求,還導致在測試端遊戲的整體穩定性也受到影響……入職不久的黃宇都能發現到處都是問題,但他對項目宣泄意見就是直率、有主見,而自己作為項目經理反映問題的時候只是無能而已。
更讓盧安心灰意冷的,或許還是項目本身早已和當初的誠意諾言背道而馳。項目方向和預期反復更改,流水目标卻一再加碼,明明説好了要做打破市場常規的精品遊戲,卻天天研究主流競品的數值模型,試圖縫合各種被商業化驗證過的玩法模式。事實上,也正是因為高層的預期改來改去,傳遞到每一個執行崗位其實并不知道到底要做什麼,做出來的東西又達不到效果,于是一直延期,惡性循環。
盧安回憶起來只感到厭倦,七百字水完了新的周報,敷衍了事。他開始胡思亂想一些真正期待的事,想放假,想出去旅行。他又想起了那個被他遺忘的旅行解謎小項目,也許是為了逃避現實,也許靈感的降臨就是這樣毫無道理可講,他的腦海裏突然有了一個很具體的畫面,他必須馬上動手。
整個周末盧安一直在搗鼓素材,很快在Unity裏拼貼出了最基本的場景:一輛車在一條開闊的公路上行駛,道路兩邊有錯落的房子,加油站和便利店,遠景是日落時分的群山,緩緩移動的雲,晚霞漫溢出無盡的紫色,時間的流速變得很慢。他和曾穎結婚以後第一次出去自駕,一路向西,傍晚偶然在路邊停車,就看到過這樣的紫色。他記得妻子站在那天的霞光裏發呆很久,朋友圈的記錄是"藍紫調温柔和無數漂浮的幻想"。
"真的很好看。"曾穎説,她在盧安的螢幕裏,看到那些簡單的像素和色塊還原出一種生動的細膩,還有他身上罕見的激情。"你真的想自己做遊戲的話,要不去學遊戲設計吧!如果寫周報讓你這麼痛苦,為什麼不辭職呢?"
為什麼不辭職呢?盧安從來沒有考慮過這個問題。他在這個公司幹了超過十年,除了最初幾年更新過一次簡歷想随便看看機會,但被HR發現并談心後,他就馬上打消了念頭,字典裏再也沒浮現過這個詞。他其實也不是特别想動彈,變動總會有風險的,反正自己能進的公司也都差不多,做遊戲嘛,去哪兒都得加班。
時間一晃,他就錯過了通過跳槽實現漲薪的上升選擇期,年紀越來越大,也愈發被動。不過,盧安的平順體質好像真的有光環,他選擇了一個極為安全的庇護所。在陰晴不定的大環境下,公司安然無恙地度過了這些年所有的風暴,版号停發、行業監管還有疫情打擊,都沒有對其運轉產生重大影響,甚至同時在研的兩個項目都已經拿到版号。而他本人更是躲過了互聯網裁員潮、降薪潮,末位淘汰,還有部門或項目突然被砍之類的普遍厄運。
在陶和平的那次"敲打"過後,盧安的确聽到風聲,上面想開始實行末位淘汰。但他知道,自己無法成為衝在前面、受盡贊賞的那個優勝者,卻也永遠不會是被規則抛下的落跑者,他的自尊心不允許,他恰如其分的努力也足夠維持在安全分數線之上。
他離35還差一歲,也并不是笃信這個殘酷的數字咒語對他無效,而是精明的資本家沒有理由非要選擇他來整肅職場,如果真落到他頭上,那十一年年資的N+1,對現在的盧安而言無異于是真正的福報。
曾穎不經意卻任性的辭職邀請好像一顆具有破壞力的種子,植入了他的深層意識,快速發芽後肆意生長。盧安跟自己承認,這些年裏,他不是沒有幻想過"如果當初聽了母親的話出去留學"會怎麼樣,也許會逃過很多無妄之災,并且已經過上了準點下班、從不内卷的生活。
他後知後覺,又鬼使神差地在網上搜索遊戲設計+大齡留學的相關信息,雖然已經晚了一步,但也很快在北歐找到了理想的換乘路線。然後他迅速浏覽了學校官網的課程和要求,規劃了一張表格,列出所有申請的方向、方式,可行度和後續發展。
但沒有一個方案屬于極低風險、穩健收益的"盧安型"。他還沒有雅思成績,本科的學渣績點也很有可能被拒,就算拿到了offer,籤證會有問題嗎?又能順利畢業嗎?畢業後能找到工作在當地留下嗎?如果留不下來,那個年紀再回來還有可能被國内職場接受嗎?
賭注太大了。他安于現狀太久,而越來越高的風險正是他要為此付出的代價。要冒險去承受可能的失敗嗎,他的職業生涯甚至從來沒有空窗期。曾穎答應可以和盧安一起去留學,他很心動,但還是無法孤注一擲,他手裏沒有真正的保底方案。
他還是每天準時上班,然後經歷了很長一段時間的全項目組衝刺和不間斷996,還有"該來總會來"的淘汰機制。在主管會議上,公司提醒他們要加強手下的人員管理,追蹤績效考核,對于績效連續評定為C的組員,"該果斷的時候要果斷"。
有一個月裏,程式和美術那邊陸續走了七八個人,好幾個被辭退的,還有一些主動離職的。但盧安的測試組一直保持穩定,組員中還有人進步明顯,獲得了職級晉升的機會。盧安自己的績效評定也在主管中排名領先,距離上一次"換人威脅"的談話過去了兩個月,他現在的工作表現無可挑剔,公司認可他處于這些年最好的狀态。
淘汰一直在進行,公司裏的流言越來越多,很多五年以上的老員工也怨聲載道,漸生反意,都説要提桶跑路。但誰也沒想到,盧安是第一個自己走的——平時最沉穩的人率先做了最叛逆的決定。
他是受不了加班,受不了周報還是其他急轉直下又莫名其妙的狼性文化?沒有同事知道他确切的動機,只是可惜他主動離職拿不到N+1;還是他終于認清對這個項目的沉沒成本已經不可能贖回,不如及時止損。曾穎也不知道盧安下定決心的時刻,也許引線一直在燃燒,但生活中很多重要的事情到了爆發的瞬間,反而沒有什麼張揚的轟鳴。
盧安在一個平靜的周五走進陶和平的辦公室,坦白了辭職的想法和新的人生規劃,説自己不想再帶着一些瘋狂生長的"雜念"繼續工作。陶有些驚訝,他讓盧安再回去好好想一想。但在後來兩輪對談之下,雙方還是達成了共識:他沒有辦法像以前一樣投入工作了,離開既是他自己的追求,也是對項目負責。
陶和平最後問他想清楚了嗎,他説不知道,做什麼選擇都會後悔,但他想要試一試。其實他唯一想清楚的事情,就是這一次不想再想得那麼清楚了。
是的,他确信自己會掉下去。但沒想到是以主動跳傘的危險動作:34歲從互聯網公司裸辭,數據清零,想要重開一局遊戲。
他很難解釋自己為什麼會走到現在這一步,也許純粹是因為偶然;但又覺得已經解釋了太多,他啰裏啰嗦的末流人生好像根本不需要浪費那麼多時間來回顧,他只是花了太多勤勉來為自己的懶惰和怯懦辯護。
在公司的最後一天,盧安填了很多表格、協定,歸還物品,清除系統裏的個人信息……他按下了删除存檔的确認鍵,無法再累積時長,也無法撤回操作。退出以後,他也許根本收不到offer,也許找不到更好的工作,也許根本開啓不了新的地圖,YES!很有可能是一個錯誤。
他過往的人生一直在尋找錯誤、判斷錯誤,然後避免錯誤。他是質量保證專家,而告别這個身份的第一件事,是允許自己可以犯錯。
在他喜歡的卡通片《無敵破壞王》裏,主角雲妮洛普就是一個代碼中存在異常Bug的電子遊戲角色。她的身體會閃爍、飄忽和瞬移,對這個遊戲而言,雲妮是一段錯誤的程式,一個不穩定的"故障",這卻是她獨一無二的地方,也是她最終赢得冒險和友誼的"閃現"超能力,雲妮不需要被修正。盧安并不覺得童話幼稚,他信仰純真,永遠對奇迹的故事懷抱虔誠。
對安全的絕對掌控感只是一種脆弱的驕傲,而盧安未曾抵達的自由是一片光怪陸離的事故天空,裏面滿是稀奇古怪的飛行器和想飛的願望,随時會撞在一起,他其實向往錯誤。
小時候,盧安從來沒有卸下過兒童自行車的安全輔助輪,所以直到去年,他才在搖搖晃晃的不安全感裏學會騎自行車,也學會了保持平衡的第一課原來是失去平衡。
現在,他決定放松神經,在降落的時候感受風,接受風。他知道,在這個世界上,逆風永遠多于順風。
(文中人物均為化名。因保密協定約定,本文已隐去真實項目信息,對相關内容有所處理。)
本文來自微信公眾号:吹火車咯(ID:blowthetrain),作者:喻折,編輯:無荒