產(chǎn) 哥 說?
“無論是在主流認(rèn)知,還是在個(gè)體想象中,對于很多程序員來說,35歲都是一道坎。今天是程序員節(jié),讓我們看一個(gè)35歲的普通程序員是如何轉(zhuǎn)型的故事。”
主筆:蕪風(fēng)
【資料圖】
編輯:二茅
35歲的劉偉,茶壺里泡著枸杞。見到我來,翻了半天,才不知道從哪里扯出一只紙杯。顯然,這間租來的房子,并不常有客人造訪。
我們第一次見面,是在八月的襄陽,漢江攜著炎熱穿城而過,橋墩上留下水位蒸發(fā)的痕跡。劉偉已經(jīng)在這里待了六個(gè)多月,這也是他第一次在南方度過完整的夏天。“咱們的膚色對比很明顯,”劉偉伸出黝黑的胳膊,比對著我的說,“一看你就是經(jīng)常坐辦公室的?!?/p>
其實(shí),劉偉過去也是“經(jīng)常坐辦公室的”,他曾在一家互聯(lián)網(wǎng)公司做金融系統(tǒng)研發(fā),用代碼和字節(jié)串起了職業(yè)生涯的第一個(gè)十年。后來公司上市未果,拿在手里的原始股失去了最初的誘惑力。隨著35歲臨近——無論是在主流認(rèn)知,還是在個(gè)體想象中,對于很多程序員來說,35歲都是一道坎——有那么一段時(shí)間,他產(chǎn)生了“一種心灰意冷的情緒”,覺得只要抬頭就能看到職業(yè)的天花板。
人生半坡,劉偉做了大多數(shù)人都會做出的決定:離開舒適區(qū)。2021年,他加入騰訊智慧交通事業(yè)部,并于今年轉(zhuǎn)型做了交付架構(gòu)師。
那是一個(gè)相對陌生的崗位,“不太清楚是做什么的,以為還是研發(fā)?!闭介_展工作前,通過查詢資料以及與同事們交流,劉偉才發(fā)現(xiàn),自己要在一個(gè)項(xiàng)目鏈條中扮演更上游、同時(shí)也更復(fù)雜的角色。
過去這段時(shí)間,劉偉經(jīng)歷了轉(zhuǎn)型的陣痛,也在踩過一個(gè)又一個(gè)“坑”后,走進(jìn)了更加廣闊的風(fēng)景。在襄陽,身為北方人的他第一次親眼看到大江大河,曾經(jīng)的焦慮也在日夜流淌的漢江里逐漸緩解。
如今,越來越多像劉偉一樣的程序員正投身到實(shí)體產(chǎn)業(yè)的數(shù)字化轉(zhuǎn)型中,交通只是其中的場景之一。他們的故事或許可以作為一扇窗口,讓我們從中看到數(shù)字技術(shù)與實(shí)體經(jīng)濟(jì)相互融合的縮影。
以下是劉偉的講述:
“你是修路的吧?”
我是今年3月份正式轉(zhuǎn)型做交通交付架構(gòu)師的。從那時(shí)候起,就有很多朋友問我具體在干什么。在解釋我工作內(nèi)容的時(shí)候,發(fā)現(xiàn)和他們總隔著一層。
其實(shí)也情有可原,說到自動駕駛,普通人很容易理解,就是車自己在路上跑嘛。但說到智慧交通,理解成本就比較高了,因?yàn)楹芏鄨鼍笆瞧胀ㄈ丝床坏降模绕涫乾F(xiàn)在,很多地方還停留在試點(diǎn)階段,沒有大規(guī)模推廣應(yīng)用。
后來再有人問我,我就懶得詳細(xì)解釋了,一般會半開玩笑地回答,我去修路了。有次在襄陽的出租車上和司機(jī)師傅閑聊,說起我的工作,他的第一反應(yīng)也是,“你是修路的?”那語氣仿佛是在說,你一個(gè)修路的,端著臺電腦干什么?當(dāng)時(shí)我干笑了兩聲,算是默認(rèn)了吧。
我的確是修路的,不過修的是一條看不見的數(shù)字道路。具體來說,我目前負(fù)責(zé)騰訊在襄陽的車聯(lián)網(wǎng)先導(dǎo)區(qū)和智慧交管項(xiàng)目。車聯(lián)網(wǎng)先導(dǎo)區(qū)就是對道路進(jìn)行智能化改造,通過雷達(dá)、攝像頭這些設(shè)備去感知實(shí)時(shí)的交通信息,再傳輸?shù)胶蠓降脑破脚_,利用各種引擎算法去支撐上層應(yīng)用的開發(fā)。智慧交管主要基于車聯(lián)網(wǎng)先導(dǎo)區(qū)項(xiàng)目中沉淀的數(shù)據(jù)和能力,去支持城市交通管理的智能化改造。比如說怎么讓信號燈系統(tǒng)更聰明,根據(jù)交通流量的情況決定紅綠燈時(shí)長,做到車輛和行人都少等燈。
在襄陽車聯(lián)網(wǎng)先導(dǎo)區(qū),我們和生態(tài)伙伴開發(fā)了一款基于泛V2X技術(shù)的app,簡單說就是把鬼探頭預(yù)警、綠波車速引導(dǎo)、駕駛盲區(qū)預(yù)警等輔助駕駛的功能集成到了手機(jī)上。它最大的一個(gè)特色是車輛本身不用安裝任何通信和感知設(shè)備,把這部分老百姓承擔(dān)的成本轉(zhuǎn)移到路上。我們有個(gè)同事曾打了個(gè)很形象的比方,“一輛十八手夏利,也能享受到輔助駕駛服務(wù)?!?/p>
這座城市的交通情況給我的感受是比較復(fù)雜的。一方面這里城區(qū)的大部分道路很寬闊,哪怕是非主干道,也有正反四條車道。在每個(gè)十字路口,都有很大的棚子,在下雨天或大太陽天的時(shí)候,等紅燈的行人能躲避一下。在沒有紅綠燈的路口,很多司機(jī)碰到有人過馬路時(shí),也會主動停車等待。對于非一線城市來說,這讓我感覺非常難得。
也有感受不太好的方面,就是這里的交通情況整體來說比較混亂,路上電動車很多,經(jīng)常占用非機(jī)動車道,占用機(jī)動車道違規(guī)停車的現(xiàn)象也很嚴(yán)重,有些司機(jī)開車很猛,有些行人過馬路不走人行橫道……有次一個(gè)出租車司機(jī)師傅和我說,這些年襄陽的路越修越寬,但是交通情況并沒有得到多少改善。
那時(shí)我想,這不正是一個(gè)了解用戶需求的機(jī)會嗎?就問他知不知道什么是車聯(lián)網(wǎng)先導(dǎo)區(qū),看他搖了搖頭,說從來沒聽過。我就拿我們的泛V2X應(yīng)用里的鬼探頭功能給他舉例子,人還沒走出來的時(shí)候,駕駛者就能提前收到預(yù)警通知,并及時(shí)避讓。
這樣一說,就勾起了他的興趣,問我這款軟件從哪里能下載,他要發(fā)到司機(jī)群里免費(fèi)幫我們推廣。那種被認(rèn)同的感覺,是之前從來沒有過的。后來再有行業(yè)外的人問我是做什么的,我還會回答是修路的,不過會加上后半句,“讓你們?nèi)粘3鲂懈踩⒏奖??!?/p>
“老婆擔(dān)心我行不行”
剛要轉(zhuǎn)型做交付架構(gòu)師的時(shí)候,一些人和我說To B的工作不好做,就算甲方罵你,也得笑著點(diǎn)頭。當(dāng)然,這種說法過于夸張了。不過,交通交付架構(gòu)師和我之前從事的工作確實(shí)有很大不同。?
之前做程序員的時(shí)候,每個(gè)崗位分工和邊界非常明確,產(chǎn)品經(jīng)理提需求,程序員寫代碼,測試找bug,運(yùn)營負(fù)責(zé)上線……我們不用去面對甲方,或者說,我們真正的甲方就是廣大的C端用戶。對于程序員來說,在一定程度上,我們是被這個(gè)完善的產(chǎn)品開發(fā)鏈條保護(hù)起來了。
其實(shí)軟件公司一直也有交付架構(gòu)師,但一般開發(fā)的是標(biāo)準(zhǔn)化產(chǎn)品,把成熟的產(chǎn)品交付給客戶,對他們進(jìn)行一些前期培訓(xùn),之后上手就能用了,再往后就是一些日常的運(yùn)維工作。但實(shí)體行業(yè)不一樣,尤其是交通,它的變量太多了,路面上的信息時(shí)時(shí)刻刻都在變化,我們要需要去適配各種具體的交通應(yīng)用場景。
所以從整體上來看,交通交付架構(gòu)和軟件交付架構(gòu)是不一樣的,我們身處項(xiàng)目一線,每天和業(yè)主(在交通行業(yè),甲方又叫業(yè)主)一起辦公,項(xiàng)目出了問題或者業(yè)主提出新的需求,壓力會首先傳導(dǎo)到我們這里,我們消化一遍,才會對接給后方的研發(fā)團(tuán)隊(duì)。
一個(gè)智慧交通項(xiàng)目會涉及到很多層面,有業(yè)主、總集(方案總集成商)、設(shè)備廠商、云廠商、通信運(yùn)營商…… 騰訊在襄陽項(xiàng)目里參與的主要是軟件和平臺部分,要對終端效果負(fù)責(zé),那項(xiàng)目鏈條中的很多環(huán)節(jié)都要交付架構(gòu)師去溝通調(diào)和。就像打仗,我們既是一線沖鋒的兵,又是一名翻譯官,需要在產(chǎn)品語言、業(yè)務(wù)語言和技術(shù)語言之間靈活切換。
為什么要掌握這么多語言呢?因?yàn)槲覀円筒煌娜吮3滞l交流。比如我剛來做交通的時(shí)候,有次業(yè)主提了一個(gè)需求,不對,準(zhǔn)確來說只是一個(gè)痛點(diǎn),“系統(tǒng)太多了,登錄起來很不方便”。到了我這里,我得先從產(chǎn)品角度去考慮要怎樣解決,再從研發(fā)角度構(gòu)思怎么寫代碼,后端、前端、測試、運(yùn)維,基本上一個(gè)人全都做了。
如果只是自己干活還好,對我來說,去協(xié)調(diào)不同的人,才是最大的困難。過去做研發(fā)嘛,很少跟人打交道,社會經(jīng)驗(yàn)少得可憐。其實(shí)我這個(gè)人基本上滿足外界對程序員的一切想象,性格木訥,不善交流……所以剛轉(zhuǎn)型時(shí),我心里還是挺犯怵的,老婆很了解我,她也擔(dān)心我能不能行。但我這個(gè)人也很喜歡冒險(xiǎn),加上項(xiàng)目上有需求,怵怎么辦,硬著頭皮也要上。
我到襄陽時(shí),項(xiàng)目處于早期,真花了不少時(shí)間去適應(yīng)、磨合。記得剛到那邊就遇到了一個(gè)難題,我們和設(shè)備廠商用的高精定位坐標(biāo)系不一樣,我要說服對方來匹配我們的。但騰訊和設(shè)備廠商沒簽合同,人家會想:我自己坐標(biāo)系用的好好的,干嗎要更換?
這時(shí)候能怎么樣?只能一遍又一遍去磨,在有業(yè)主和總集的會議上擺事實(shí),講道理,私下里也去找相關(guān)負(fù)責(zé)人說好話:嗨,哥們兒,大家都是為了同一個(gè)項(xiàng)目,能有什么大事呢?你們要怎么做,我全力配合你們……把嘴皮子磨破了,好在最后事情也解決了。
“你見過凌晨的漢江嗎?”
現(xiàn)在一想,之前遇到的那些都不叫事,但剛開始的時(shí)候?qū)ξ襾碚f可是個(gè)大問題,也曾一度打過退堂鼓,好在堅(jiān)持了下來?,F(xiàn)在有時(shí)候和同事一起吃飯和閑聊,我會不自主的講幾個(gè)段子,他們會笑著說我變了。
我和以前真的不一樣了,有次我回家,老婆問我為什么有事沒事總是在笑。我很詫異,趕緊去照鏡子:我在笑嗎?
總的來說,我身上還是殘留著研發(fā)時(shí)的思維和影子。
好的一面,做技術(shù)出來的人,身上或多或少都會帶有一些浪漫色彩,會想著怎樣用技術(shù)解決現(xiàn)實(shí)里的問題。我們住的地方離項(xiàng)目部不遠(yuǎn),我常常會騎共享單車或步行上下班,有時(shí)候看到一些交通亂象,比如闖紅燈、行人亂穿馬路……還有一次,我看到三輛車在路上連環(huán)相撞。每當(dāng)這時(shí),我就會想,我們的系統(tǒng)能解決嗎?我也會經(jīng)常跟后方研發(fā)同事交流,雖然短期內(nèi)可能不會去做,但是想法一直在留在腦子里,我想總有一天會用到吧。
也有不好的方面,每個(gè)程序員都是被需求推著走,來了事情就急著去干。應(yīng)該說這是個(gè)優(yōu)點(diǎn),但真的要分場合。
轉(zhuǎn)型做交通交付架構(gòu)師后,有好幾次與合作伙伴開完會后,我都非常懊惱,怎么這件本不該我做的事又落到了自己頭上?因?yàn)槲也恢淮韨€(gè)人,我對接的也不都是公司內(nèi)部同事。就像我說的,交付架構(gòu)師更像一架溝通前方和后方的橋梁,涉及到公司層面的很多人力、成本以及整體進(jìn)度:做好粘合劑,又分清邊界,這點(diǎn)十分重要。?
有些沒做過研發(fā)的同事會對程序員這個(gè)群體非常好奇,常常會問我之前是不是總通宵加班。其實(shí)程序員真的沒外界想象的那么可怕,一般都是有產(chǎn)品或系統(tǒng)需要緊急上線時(shí)才會連夜趕工。
在襄陽我也熬過幾個(gè)通宵。業(yè)主要求一個(gè)系統(tǒng)明天上線,但有些問題一直沒調(diào)試好。交通運(yùn)營中心下班后,我和研發(fā)、總集和設(shè)備廠商一起調(diào)試,發(fā)現(xiàn)從感知、計(jì)算到孿生,好像每個(gè)環(huán)節(jié)都沒有問題。大家犯愁的時(shí)候,我進(jìn)后臺看了看正在運(yùn)行的程序,發(fā)現(xiàn)是網(wǎng)絡(luò)延時(shí)不穩(wěn)定,又緊急拉上通信運(yùn)營商,最后一直弄到了凌晨四點(diǎn)。
其實(shí)我現(xiàn)在的工作和之前的節(jié)奏差不多,就是不停的去抓系統(tǒng)的bug。拿我們開發(fā)的泛V2X應(yīng)用來說,每個(gè)功能點(diǎn)都要不斷的去打磨。去道路上跑測試,驗(yàn)證每個(gè)功能觸發(fā)的準(zhǔn)確性和及時(shí)性,就是我工作中的很重要的一部分。
路測一般是在車?yán)镞M(jìn)行,但一天連著跑五六個(gè)小時(shí),眼睛要不停的在手機(jī)和電腦屏幕之間切換,看功能觸發(fā)、列問題清單、比對后臺情況,需要一直保持一種僵硬的姿勢,長期下來腰還是有點(diǎn)受不了。我有個(gè)90后同事也總是開玩笑說:我還沒結(jié)婚啊,腰得省著點(diǎn)用。
話雖這樣說,每次去路測時(shí),他還是有說有笑的。像鬼探頭這種場景,需要我和同事配合完成,一個(gè)人開車,一個(gè)人扮演行人,行人忽然從駕駛員的視線盲區(qū)里沖出來,看app會不會及時(shí)預(yù)警。這種場景模擬挺危險(xiǎn)的,我們一般會早起一些,在清早大家還沒上班的時(shí)候,選擇一個(gè)車比較少的這種路口來測試。
算起來我來襄陽已經(jīng)有大半年了,完整經(jīng)歷了襄陽車聯(lián)網(wǎng)先導(dǎo)區(qū)從0到1的過程。今年9月,項(xiàng)目經(jīng)過了初步驗(yàn)收,后面這款泛V2X應(yīng)用會正式上線到手機(jī)的應(yīng)用商店,所有人都能下載使用。
我此前從沒來過襄陽,只在金庸的武俠小說中讀到過,里面像郭靖、楊過這些英雄在戰(zhàn)場殺敵的故事令我非常向往??晌揖褪莻€(gè)普通人,來到一座陌生的城市,能通過自己的工作給這里的人帶來哪怕一點(diǎn)點(diǎn)改變,也就夠了。
有次凌晨五六點(diǎn)的樣子,我和同事跑完路測后去漢江邊散步,那時(shí)已經(jīng)有很多晨練的人。我問他,你在襄陽這么久,見過凌晨的漢江嗎?他有點(diǎn)不明所以,問我是不是想家了。不知道為什么,那時(shí)候我的眼睛真的濕潤了起來,這也是我到襄陽后第一次想要流眼淚。
聽老婆說,每次我出差,兒子都會掰著手指頭數(shù)我走了幾天。去年我來騰訊的時(shí)候他才兩歲,正學(xué)著數(shù)數(shù),從1數(shù)到5,其實(shí)他只能數(shù)這么多了,好在數(shù)完了,我差不多也就回家了。今年,他能數(shù)到100以內(nèi)了,我出差在外的時(shí)間也更長了,上次我在襄陽待了兩個(gè)月,老婆說,那也是他第一次數(shù)數(shù)超過50。
關(guān)鍵詞: 35歲程序員 轉(zhuǎn)型做了修路工