每年10月24日,被稱為“1024程序員節(jié)”。有人說它是“程序員的情人節(jié)”,也有人調(diào)侃是“連續(xù)16個(gè)小時(shí)不下班的節(jié)日”。這個(gè)節(jié)日之所以是1024,因?yàn)?的十次方正好是一千零二十四。它象征著二進(jìn)制的浪漫,也象征著程序世界的原教旨主義。
但在這個(gè)屬于邏輯和代碼的日子里,我們或許也該停下手頭的項(xiàng)目,問自己一個(gè)更棘手的問題:在AI成為主力工具的時(shí)代,程序員這個(gè)職業(yè),還剩下多少“人”的成分?或者說,我們還需要程序員嗎?
去年此時(shí),有人還在手寫代碼;今年,他已經(jīng)在教AI怎么寫代碼;那么明年呢?他是不是已經(jīng)變成AI的提示詞工程師,連編譯器都不碰了?這個(gè)節(jié)日,究竟是慶祝一個(gè)職業(yè)的榮光,還是悄悄紀(jì)念一種正在消失的狀態(tài)?
我們還需要記語法、背算法、學(xué)框架嗎?我們還需要懂得優(yōu)化、重構(gòu)、性能調(diào)優(yōu)嗎?或者說,如果“寫代碼”不再是程序員的核心能力,我們到底還需要什么樣的程序員?
曾經(jīng)的編程,是一種“慢武功”
2000年代初,學(xué)編程是一件需要儀式感的事。你得從C語言學(xué)起,啃數(shù)據(jù)結(jié)構(gòu),調(diào)指針,背算法。遇到報(bào)錯(cuò),你得把異常復(fù)制下來,貼進(jìn)搜索框,一頁頁翻知乎或CSDN的文章,看哪個(gè)說得靠譜,再小心翼翼地跑一次,看看是不是終于不報(bào)錯(cuò)了。那時(shí)的程序員像農(nóng)耕者:用時(shí)間換成長,用苦工堆積產(chǎn)值。
哪怕到了2015年,技術(shù)仍是按部就班地演進(jìn):Java變得更穩(wěn)重,Python成為數(shù)據(jù)科學(xué)的寵兒,從jQuery到Vue,再到React,框架在不斷變,語法越來越炫,但說到底,還是在圍繞“怎么更快畫出一個(gè)好看又能動(dòng)的頁面”這條路上打圈。經(jīng)驗(yàn),是一塊磚一塊磚地壘起來的。就像日本壽司大師,從切黃瓜開始學(xué)十年,最后只為握好一塊飯團(tuán)。而今天,突然不需要切黃瓜了。
生成式AI的到來,讓整個(gè)游戲規(guī)則變了。現(xiàn)在,最優(yōu)秀的程序員,不是那些寫代碼最快的人,而是那些知道如何讓AI寫出好代碼的人。你得像電影《盜夢(mèng)空間》里的造夢(mèng)者,知道如何構(gòu)造一個(gè)環(huán)境、設(shè)定約束、搭建提示詞。你寫的不再是“代碼”,而是“構(gòu)建代碼的場(chǎng)景”。
這,就是“AI原生程序員”的新角色。你可能沒寫過一個(gè)能跑通的排序算法,
也沒獨(dú)立部署過一套后端服務(wù),但你只要能把需求講明白、邏輯列清楚,AI就能替你寫出八成像樣的代碼。甚至測(cè)試腳本、接口文檔、部署流程,也都可以自動(dòng)生成。
老程序員,開始“背著歷史包袱跑步”
問題是——不是所有人都來得及換操作系統(tǒng)。我認(rèn)識(shí)一位資深工程師,40歲出頭。簡歷上寫著“參與開發(fā)了某國有銀行核心系統(tǒng)”,項(xiàng)目周期三年,文檔厚如詞典,流程復(fù)雜得像《清明上河圖》。但他用Copilot寫代碼時(shí),手速慢、警惕性高,總擔(dān)心AI給出的答案不夠“嚴(yán)謹(jǐn)”,于是手動(dòng)重寫,來來回回,一天只寫出三百行,代碼量甚至趕不上一個(gè)實(shí)習(xí)生。
他不是能力不行,而是“思維模型”跟不上了。他相信代碼是“瞧”出來的,不是“生成”出來的。軟件是“搭”出來的,而不是“喂Prompt”就能長成的。可現(xiàn)實(shí)已經(jīng)變了,F(xiàn)在真正花時(shí)間的,是設(shè)計(jì)好提示詞,是決定哪塊該交給AI,哪塊必須手動(dòng)優(yōu)化。
過去積累的經(jīng)驗(yàn),反而成了需要反復(fù)審視的“舊習(xí)慣”。他不是不努力,而是努力的方向過時(shí)了。
AI原生畢業(yè)生,也可能在“刻舟求劍”
我們也別急著贊美“AI原生”。我見過不少剛畢業(yè)的學(xué)生,Prompt寫得飛快,工具切換熟練得像開外掛。接口讓AI來寫,頁面用畫圖工具一鍵生成,文檔也直接交給自動(dòng)摘要搞定。但當(dāng)產(chǎn)品迭代后需要接入ERP系統(tǒng)時(shí),他崩了。他不知道“月底財(cái)務(wù)對(duì)賬”的時(shí)間點(diǎn)為啥那么奇怪,更不知道政府采購合同為什么要拆成三個(gè)子項(xiàng)。
他們以為AI萬能,結(jié)果被現(xiàn)實(shí)打了耳光。因?yàn)樗麄儾涣私猓瑥?fù)雜業(yè)務(wù)的歷史不是代碼,而是人。企業(yè)流程是幾十年一步步積累下來的慣性。財(cái)務(wù)科、內(nèi)控部、法務(wù)團(tuán)隊(duì)不是AI能一夜重塑的對(duì)象,它們只能被理解,不能被跳過。哪怕你能用AI寫出所有API,但你要知道:有些字段的命名,是某個(gè)十年前的兼容性遺留問題——?jiǎng)h不了,也改不得。
我們進(jìn)入了一個(gè)奇怪的階段。寫代碼越來越像畫畫。你畫出一個(gè)模糊意圖,AI補(bǔ)完你想表達(dá)的結(jié)構(gòu)。于是,一部分人開始以為,“只要我vibe(氛圍)夠?qū)Γa就會(huì)自己出現(xiàn)!边@也確實(shí)在某些場(chǎng)景下成立。但當(dāng)你面對(duì)一個(gè)橫跨七個(gè)子系統(tǒng)、數(shù)據(jù)源分布在三地、文檔混雜著Excel和PDF的老系統(tǒng)時(shí),vibecoding就像用素描技巧畫城市規(guī)劃圖。你得理解這個(gè)城市是怎么長出來的,它的水管通哪兒、墻體承不承重、歷史問題遺留項(xiàng)有幾代人踩過坑。哪條走線埋著三代程序員不敢動(dòng)的技術(shù)債,哪份接口文檔早就沒人敢更新,怕動(dòng)了會(huì)出事。
刻舟求劍,是一種錯(cuò)覺:以為只要工具足夠新,就能解決所有舊問題。而現(xiàn)實(shí)是:真正的復(fù)雜,不在系統(tǒng)里,在系統(tǒng)之外。
我們需要什么樣的程序員?
我們到底需要什么樣的程序員?不是活在C語言年代里,把一切都手寫出來的人;也不是飄在AI云端,只靠模型輸出就敢上線的人。我們需要“新舊混血”的程序員。一邊講得了機(jī)器語言,能和AI工具對(duì)話;一邊懂得人類語言,能和業(yè)務(wù)、系統(tǒng)、歷史展開對(duì)話。他們是“雙語程序員”——既懂代碼語言,也懂組織語言。
他們知道:Prompt不只是關(guān)鍵詞堆砌,而是一份帶上下文的系統(tǒng)設(shè)計(jì)說明;部署不是復(fù)制粘貼,而是對(duì)整個(gè)服務(wù)依賴鏈的判斷;一個(gè)字段為什么不能改,不是技術(shù)問題,而是業(yè)務(wù)慣性和歷史包袱的綜合結(jié)果。
真正有價(jià)值的程序員,不是手快、工具全、堆技能,而是那些明白:“系統(tǒng)是時(shí)間的產(chǎn)物,問題往往來自人!彼麄兡芸创┮粋(gè)架構(gòu)設(shè)計(jì)圖,背后藏著哪幾代人的妥協(xié);也能在提示詞里提前預(yù)判模型可能出錯(cuò)的邊界。他們解決問題的方式,不是工具最強(qiáng),而是判斷最穩(wěn)。
這類人,正在被越來越多的公司追著找。大公司,如Meta、Google、阿里、騰訊,要的不是“寫代碼機(jī)器”,而是能駕馭AI工具,讓別人寫的代碼“跑得穩(wěn)、跑得久”的技術(shù)統(tǒng)籌者。而初創(chuàng)公司更直接:你得一個(gè)人搞定一整套系統(tǒng),建模、設(shè)計(jì)、落地、上線,AI工具當(dāng)然幫得上忙,但前提是:你知道哪一部分能自動(dòng),哪一部分必須靠你。
程序員,正在變成“系統(tǒng)設(shè)計(jì)者”
這個(gè)職業(yè),越來越不像一門“技藝”,更像一門“結(jié)構(gòu)學(xué)”。就像建筑師不再親自搬磚,程序員也不再親手寫每一行代碼。磚可以交給機(jī)器,結(jié)構(gòu)只能靠人來決定。新的黃金技能,不是“編碼”,而是“抽象”。你得理解復(fù)雜系統(tǒng)的依賴關(guān)系,理解哪些組件可以復(fù)用,哪些接口必須重寫。你需要能快速評(píng)估技術(shù)債的代價(jià),也要能預(yù)見五年后的維護(hù)成本。
未來的程序員,最重要的能力是:系統(tǒng)抽象能力:理解復(fù)雜關(guān)系;架構(gòu)判斷能力:掌控整體節(jié)奏;歷史理解能力:知道問題為什么變成這樣。這三種能力,AI給不了你。
金庸在《笑傲江湖》里寫過一句話:“無招勝有招!碑(dāng)你對(duì)每一招都了如指掌,你就能不拘一格、隨機(jī)應(yīng)變。程序員的未來,恰恰如此。當(dāng)你掌握所有語言、框架、工具,才能把它們放下,你才有能力根據(jù)業(yè)務(wù)目標(biāo)、技術(shù)約束和時(shí)間成本,靈活地組合、抉擇、做出一個(gè)“活得下去”的解決方案。
寫代碼只是手段,解決問題才是目的。未來最強(qiáng)的程序員,也許是這樣的人:他能在AI面前挑錯(cuò),能在人群面前講明白需求。他不神化AI,也不恐懼失業(yè)。他知道,真正被淘汰的,從來不是不懂新工具的人,而是拒絕更新認(rèn)知模型的人。
新一代技術(shù)面試,也許不再問“你會(huì)寫代碼嗎?”而是問:“你能理解問題本質(zhì),并設(shè)計(jì)一個(gè)兼容歷史的AI解法嗎?”
圖靈測(cè)試曾用來判斷機(jī)器是否像人。而對(duì)程序員來說,今天的圖靈測(cè)試變成了另一個(gè)問題:你是否能在AI工具泛濫的年代,還保有屬于人的判斷?
你能不能在AI工具面前,不迷信、不盲從?你是否還保有人的本能:判斷力、抽象力、系統(tǒng)感?你是否還能不靠輸入框,理解一個(gè)問題的全貌?
也許未來有一天,“程序員”這個(gè)詞會(huì)被新的詞匯取代。技術(shù)結(jié)構(gòu)建筑師、AI系統(tǒng)協(xié)調(diào)人、人機(jī)交互邏輯師……但無論叫什么,1024這個(gè)節(jié)日,依然應(yīng)該屬于那些能駕馭技術(shù),理解復(fù)雜,并始終進(jìn)化的人。
祝每一位正在進(jìn)化中的你,程序員節(jié)快樂!
(作者胡逸為數(shù)據(jù)工作者,著有《未來可期:與人工智能同行》一書)
來源:胡逸