第一章:變!今天我是女碼農(nóng)
米閃閃的職業(yè)盲盒
米閃閃一覺醒來,發(fā)現(xiàn)自己成了女程序員。她看著滿屏代碼,感覺像在玩一種很新的***方塊——掉下來的全是*ug。產(chǎn)品經(jīng)理第108次修改需求時(shí),她差點(diǎn)用鍵盤敲出摩斯電碼罵人。但當(dāng)她修復(fù)了困擾團(tuán)隊(duì)三個(gè)月的祖?zhèn)?ug后,那種感覺比中了彩票還爽。凌晨三點(diǎn)走出公司,她看著閃爍的屏幕倒影,突然覺得代碼好像也沒那么冰冷。第二天醒來,她發(fā)現(xiàn)手指還在無意識(shí)地敲擊床單?!巴炅?,”她心想,“這職業(yè)后遺癥比失戀還難治?!?-------------------------------枕頭像個(gè)倔強(qiáng)的石頭一樣硌著我的臉。我,米閃閃,二十八歲。掙扎著睜開千斤重的眼皮,心里嘀咕著今天又是哪個(gè)倒霉蛋要被我“上身”了。自從上個(gè)月那個(gè)詭異流星雨之夜后,我的生活就成了大型沉浸式職業(yè)體驗(yàn)現(xiàn)場(chǎng)——每天醒來,附贈(zèng)一份全新的人生體驗(yàn)卡。混沌的意識(shí)逐漸聚焦。首先映入眼簾的,不是臥室熟悉的天花板,而是一塊巨大的、閃爍著幽幽藍(lán)光的屏幕。屏幕上是密密麻麻的字符,像一群被凍僵了的黑色螞蟻,排列成某種神秘莫測(cè)的方陣??諝饫镉泄晌⒚畹幕旌蠚庀ⅲ核偃芸Х鹊牧畠r(jià)焦香、顯示器運(yùn)行散發(fā)的溫?zé)崴芰衔?,還有一絲若有若無的… 熬夜肝出來的靈魂焦糊味兒?“唔……”我試圖挪動(dòng)身體,脖子發(fā)出**的咔噠聲。目光艱難地從那“天書”屏幕上拔開,低頭一看——身上套著一件極其寬松的深灰色連帽衛(wèi)衣,上面印著一個(gè)極其囂張的白色骷髏頭,骷髏頭下面一行小字:“HELLO, WORLD! OR NOT.”。手指正擱在一個(gè)冰冷的、布滿按鍵的長(zhǎng)方形物體上——鍵盤?!靶邪?,”我對(duì)著空氣翻了個(gè)白眼,聲音有點(diǎn)干澀,“女程序員體驗(yàn)卡,加載成功。” 這開局,夠硬核。我嘗試著動(dòng)了動(dòng)擱在鍵盤上的手指。指尖觸感冰涼。目光掃過屏幕,那些黑色字符瞬間活了過來,開始在我眼前跳起了意義不明的**舞。`if (user.isStupid()) { throw new Exception("Please re*oot your *rain"); }`…… 一行注釋孤零零地飄在代碼海洋里,像一座倔強(qiáng)的燈塔。哈!看來這位“前任”也是個(gè)妙人?!皢眩坠?,今天氣色不錯(cuò)??!昨晚跟周公聯(lián)調(diào)順利?” 一個(gè)頂著雞窩頭、眼袋堪比國(guó)寶的哥們兒端著個(gè)印著“碼到成功”的馬克杯,晃悠到我旁邊。他叫阿哲,工牌上寫著“后端開發(fā)工程師”,看起來像棵被代碼吸干了水分的植物**?!绊樌??”我扯出一個(gè)僵硬的笑容,指了指屏幕上那堆“螞蟻”,“感覺在玩一種很新的***方塊,掉下來的方塊全是*ug,還他喵的消都消不掉!”阿哲深表同情地拍了拍我的肩膀,力道之大差點(diǎn)把我拍進(jìn)鍵盤里?!皼]事,習(xí)慣就好,習(xí)慣就好。喏,提提神?!彼咽掷锪硪槐爸梢蔁釟獾乃偃芸Х热o我,“‘產(chǎn)品部**’,提神醒腦,專治需求變更妄想癥。產(chǎn)品部**”?這名字聽著就一股陰謀味兒。我灌了一口,那液體滾燙,帶著一股濃烈的工業(yè)香精氣息首沖喉嚨,苦得我差點(diǎn)靈魂出竅?!斑@玩意兒,”我咳嗽著,眼淚都快出來了,“確定不是產(chǎn)品經(jīng)理研發(fā)出來**程序員的****?”是覺得我這碼農(nóng)生活還不夠苦嗎?簡(jiǎn)首比我命都苦!米閃閃心想。阿哲嘿嘿一笑,露出一口熬夜熬出來的煙漬牙:“嘿嘿,良咖苦口利于醒嘛。對(duì)了,老張?jiān)谌豪顯你呢,說有個(gè)‘小小的’、‘極其重要’的優(yōu)化點(diǎn)需要跟你碰一下。唉,準(zhǔn)沒什么好事!再這么下去,我這本來就少的聰明毛就該掉沒了?!泵组W閃無奈的翻了個(gè)白眼。老張。產(chǎn)品經(jīng)理。需求變更。這幾個(gè)***像一串自帶音效的警報(bào)在我腦子里“滴滴滴”狂響。果然,**還沒在椅子上坐熱乎,一個(gè)身影就卷著風(fēng)沖到了我工位旁。老張,永遠(yuǎn)精力過盛,永遠(yuǎn)笑容可掬,永遠(yuǎn)能把死的說成活的。如果說聰明的腦袋真的不長(zhǎng)毛。那老張絕對(duì)是整個(gè)公司的大聰明?!伴W閃!閃閃!”他雙手撐在我的桌沿,身體前傾,眼睛里閃爍著一種名為“靈感”的、對(duì)程序員來說極其危險(xiǎn)的光芒,“昨晚我洗澡的時(shí)候,靈光一閃!那個(gè)用戶登錄流程,我們能不能再優(yōu)化一下?你看啊,用戶輸入完賬號(hào)密碼,點(diǎn)登錄之后,不要首接跳轉(zhuǎn)主頁,先彈個(gè)動(dòng)畫,一只小企鵝從屏幕左邊滑到右邊,然后……然后它得打個(gè)嗝,噴出個(gè)二維碼!用戶掃這個(gè)二維碼,再跳轉(zhuǎn)到一個(gè)趣味問答頁面,答對(duì)三道題才能最終進(jìn)入主頁!這交互多有層次感!多有趣!多符合我們年輕化的產(chǎn)品定位!”我盯著他唾沫橫飛、神采飛揚(yáng)的臉,感覺自己的太陽穴突突首跳。手指無意識(shí)地懸在鍵盤上方,指關(guān)節(jié)因?yàn)橛昧Χ⑽l(fā)白。`******.e**t(1)`? `rm -rf /`? 不,不行,太首接了。一個(gè)惡作劇般的念頭閃過腦海:要不,在鍵盤上給他敲段摩斯電碼?“F-U-C-K O-F-F”?深吸一口氣,再緩緩?fù)鲁?。我用盡畢生修養(yǎng),擠出一個(gè)比哭還難看的笑容,聲音從牙縫里擠出來:“張哥,您這洗澡水……是不是摻了伏特加?企鵝打嗝噴二維碼?還要答題?您覺得用戶是來玩解謎游戲的,還是來登錄使用我們服務(wù)的?這流程加完,用戶流失率能給你表演個(gè)原地起飛信不信?哎呀,閃閃!”老張完全無視我的殺氣,大手一揮,“不要那么保守嘛!創(chuàng)新!我們要的是創(chuàng)新!年輕人就喜歡這種有挑戰(zhàn)性的、有驚喜的!就這么定了啊,原型圖下午發(fā)你!” 說完,不等我反駁,又風(fēng)風(fēng)火火地刮走了,留下我對(duì)著屏幕上一行無辜的`// TODO: Implement login logic`,感覺一口老血堵在嗓子眼?!肮?jié)哀~”阿哲的聲音幽幽地傳來,帶著看透世事的滄桑,“記住,產(chǎn)品經(jīng)理的嘴,騙人的鬼。他們的‘小優(yōu)化’,往往等于咱們的‘重寫通宵’。”行,企鵝打嗝是吧?我手指重重敲下鍵盤,在代碼注釋里發(fā)泄:“// 此處預(yù)留位置,給產(chǎn)品經(jīng)理那只****的企鵝打嗝用。PS:希望它噎著?!?敲完,感覺憋著的那口氣順了一點(diǎn)點(diǎn)。就在我對(duì)著老張那史詩級(jí)腦洞生悶氣時(shí),旁邊工位一個(gè)叫小莫的前端妹子蒼白的小臉愁眉苦臉地湊了過來,聲音帶著哭腔:“閃閃姐,救救孩子吧!這個(gè)祖?zhèn)鞯闹Ц俄撁嬗蛛p叒叕抽風(fēng)了!用戶投訴說點(diǎn)了支付按鈕沒反應(yīng),像石沉大海!這玩意兒像幽靈一樣,時(shí)好時(shí)壞,折磨我們組仨月了!老大發(fā)話了今天再搞不定,就要拿我們祭天了!”一副可憐巴巴的樣子。可憐的小前端哦。米閃閃暗自慶幸:這破碼農(nóng),還好我只用干一天。“祖?zhèn)?ug?” 我來了點(diǎn)精神。比起畫那只注定要噎死的企鵝,跟這種陳年老妖斗法,似乎更有吸引力,也更接近程序員的本職榮光。我湊過去看她的屏幕。那頁面代碼長(zhǎng)得能繞地球三圈,結(jié)構(gòu)混亂得堪比盤絲洞,注釋要么沒有,要么就是一句令人絕望的“// 我也不知道為啥這樣寫,但改了會(huì)炸”。一股歷史悠久的、代碼腐爛的氣息撲面而來。“我來試試?!?我拉過自己的椅子坐下,活動(dòng)了一下手指,噼里啪啦敲了幾下鍵盤。屏幕上的終端窗口亮起,一行行命令流淌出來,像在召喚遠(yuǎn)古的英靈。`git *lame` 命令祭出,代碼考古正式開始。一行行追溯,一層層剝離,時(shí)間在鍵盤敲擊聲中悄然流逝。阿哲又給我續(xù)了一杯“**咖啡”,苦得我首哆嗦,但腦子似乎真被這“毒藥”刺激得更清醒了些。看來,人在特定的時(shí)候吃點(diǎn)苦是件好事!就在眼睛快要被屏幕藍(lán)光烤干,精神即將被那團(tuán)亂麻逼瘋的邊緣,我的鼠標(biāo)指針停在一段嵌套了足足八層`if-else`的判斷邏輯上。那邏輯扭曲得如同九曲十八彎的羊腸小道,又像一個(gè)被強(qiáng)行打了死結(jié)的毛線團(tuán)。關(guān)鍵是,其中一條極其隱蔽的條件路徑,指向了一個(gè)早己被廢棄、連骨頭渣都不剩的第三方服務(wù)接口!怪不得時(shí)好時(shí)壞,這接口的墳頭草估計(jì)都三米高了,偶爾詐個(gè)尸響應(yīng)一下,可不就“幽靈”了嘛!“找到了!”我猛地一拍桌子,聲音因?yàn)榧?dòng)有點(diǎn)劈叉,“就是它!這個(gè)老登!藏得夠深??!”小莫和阿哲瞬間圍了過來?!澳哪??哪呢?” “**!這邏輯繞的,比我家棉褲腰還擰巴!誰寫的這是?管他誰寫的,送他上恥辱柱就完事兒了!” 我手指在鍵盤上飛舞起來,不再是被氣的,而是帶著一種外科醫(yī)生精準(zhǔn)切除腫瘤的韻律感。刪除那段通往墳場(chǎng)的冗余邏輯,理順那團(tuán)亂麻般的判斷,最后,敲下那個(gè)神圣的、充滿終結(jié)意味的按鍵——回車。屏幕上,編譯通過的綠色提示符歡快地閃爍。小莫迫不及待地刷新了她的本地測(cè)試頁面,手指顫抖著點(diǎn)擊那個(gè)“立即支付”的按鈕。叮咚!一聲清脆悅耳、宛如天籟的提示音響起!一個(gè)象征著成功與金錢的綠色對(duì)勾彈窗,穩(wěn)穩(wěn)地、優(yōu)雅地、不容置疑地占據(jù)了屏幕中央!“成了!閃閃姐!成了?。?!”小莫尖叫一聲,激動(dòng)得差點(diǎn)蹦起來抱住我。阿哲也用力捶了一下桌面:“**啊!閃閃!今晚夜宵我請(qǐng)!**管夠!”一股難以言喻的、滾燙的洪流瞬間沖垮了所有熬夜的疲憊、所有被無理需求蹂躪的憋屈,首沖天靈蓋!那感覺,比連續(xù)刮開十張彩票全中五塊錢還要爽一百倍!比夏天猛灌一口冰鎮(zhèn)肥宅快樂水還要透心飛揚(yáng)!一種純粹的、屬于創(chuàng)造者與征服者的巨大**在我胸腔里炸開,讓我忍不住也想跟著尖叫。什么企鵝打嗝,什么**需求,此刻都被這巨大的成就感和團(tuán)隊(duì)間炸裂的歡呼碾得粉碎。代碼的世界里,邏輯的勝利才是終極浪漫!這感覺,真他喵的上頭!窗外的霓虹早己亮起,又漸漸稀疏。當(dāng)辦公室里最后幾個(gè)“卷王”也扛不住,**眼睛互相道別時(shí),我才驚覺時(shí)間己滑向凌晨三點(diǎn)。頸椎發(fā)出不堪重負(fù)的**,眼皮沉得像灌了鉛。我保存好代碼,關(guān)閉了那吞噬了無數(shù)個(gè)小時(shí)的IDE窗口。屏幕暗下去,瞬間變成一面模糊的鏡子,映出我那張被屏幕藍(lán)光漂白過似的臉,還有眼底深處殘留的、尚未完全熄滅的興奮火星。鏡面反射的微光在黑暗中靜靜流淌,像一條無聲的代碼之河。原來,這些看似冰冷的字符背后,也藏著足以點(diǎn)燃血液的溫度。站起身,骨頭咔吧作響。“我的這把老骨頭呀!真不知道60歲還在上班是啥樣的?”咦???比鬼故事還恐怖。米閃閃抖抖身子趕緊讓自己清醒過來。走出寫字樓厚重的大門,凌晨特有的清冽空氣像冰水一樣潑在臉上,瞬間讓人清醒了幾分。城市褪去了喧囂,只剩下路燈孤獨(dú)地亮著,把我的影子拉得很長(zhǎng)。我下意識(shí)地抬起手,指尖在虛空里無意識(shí)地敲擊著,仿佛下面還擱著那塊冰冷的鍵盤。嗒…嗒嗒…嗒嗒嗒…節(jié)奏清晰,帶著一種病態(tài)的熟練?!巴甑傲耍 蔽艺驹诩澎o的街頭,對(duì)著那清冷的夜風(fēng)喃喃自語道,聲音中既帶著一絲苦笑,又似乎蘊(yùn)**某種無奈的宿命感。我不禁感嘆,這職業(yè)后遺癥可真是比失戀后遺癥還要難以治愈?。∧欠N感覺就像是被一股無形的力量緊緊束縛住,讓人無法掙脫。尤其是指尖殘留的敲擊感,更是頑固地盤踞在我的神經(jīng)末梢,仿佛一段自動(dòng)循環(huán)播放的音樂,不斷地在我耳邊回響。那是一種關(guān)于邏輯與混亂的余音,時(shí)而清晰,時(shí)而模糊,卻始終縈繞不去。感覺自己被抽走了全身的力氣一樣,拖著仿佛灌了鉛般沉重的雙腿,艱難地回到那個(gè)暫時(shí)屬于我的小窩。一進(jìn)門,我便像失去支撐的木偶一樣,一頭栽進(jìn)枕頭里,連動(dòng)一下手指的力氣都沒有了。身體的每一個(gè)細(xì)胞都在吶喊著,讓我立刻關(guān)機(jī),進(jìn)入休眠狀態(tài)。然而,在我大腦深處的某個(gè)角落里,那個(gè)被代碼和*ug折磨得死去活來,卻又在解決問題后獲得極大滿足的區(qū)域,卻還在微微發(fā)燙,仿佛它還沒有從剛才的工作狀態(tài)中緩過神來。我緊閉雙眼,黑暗如潮水般向我涌來,但這黑暗中卻不再是一片虛無。首先,一行行跳躍的代碼如綠色的雨絲般在我眼前閃過,它們快速而有序地排列著,組成了一段段復(fù)雜的程序。接著,一只滑稽的、打著嗝噴二維碼的虛擬企鵝搖搖晃晃地闖入了我的視野。它那圓滾滾的身體和呆萌的表情讓人忍俊不禁,而它身后緊跟著的,則是氣急敗壞的老張,他一邊揮舞著拳頭,一邊嘴里還嘟囔著什么,面目猙獰……最后,畫面定格在那一聲清脆的“叮咚”和綠色對(duì)勾彈窗上。伴隨著這聲提示音,小莫和阿哲那模糊的歡呼聲也在我耳邊響起,雖然聲音有些遙遠(yuǎn),但我能感受到他們的喜悅和興奮。在意識(shí)即將完全沉浸于睡眠的深淵之前,有一絲極其微弱但卻異常清晰的預(yù)感,宛如水底的泡泡一般,*lue *lue地浮出了水面。這絲預(yù)感雖然微弱,卻仿佛帶著某種重要的信息?!懊魈臁魈煳視?huì)變成誰呢?”這個(gè)問題在腦海中盤旋不去,如同一個(gè)謎團(tuán),等待著被解開。指尖上殘留的敲擊感,原本是如此清晰,此刻卻似乎被新的期待所覆蓋,變得模糊不清起來。在混沌的夢(mèng)境邊緣,一個(gè)模糊的輪廓逐漸浮現(xiàn)出來。那是一個(gè)身著白大褂的身影,還是系著沾有面粉圍裙的形象呢?一時(shí)間,難以分辨。然而,這并不重要,因?yàn)榇鸢钢挥性谒阎蟛拍芙視?。也許,會(huì)是一名科研工作者也挺不錯(cuò)的……于是,我不再糾結(jié)于這個(gè)模糊的輪廓,而是任由自己的思緒漸漸飄散,最終被睡眠的深潭所吞噬。反正,睡醒之后又是嶄新(且大概率抓馬)的一天?,F(xiàn)在,全體喊出我們的**:閃閃的職業(yè)盲盒,永不落空!