代碼革命如何轉(zhuǎn)動(dòng)企業(yè)數(shù)字化的飛輪?(代碼時(shí)代)
作者|麥可可
監(jiān)制|吳懟懟
坦白講,軟件開(kāi)發(fā)是一項(xiàng)智力活動(dòng)而不是體力活兒。
這種藝術(shù)與科學(xué)相結(jié)合的創(chuàng)意工作,往往能匯聚出高度密集的靈感火花,也曾在一個(gè)又一個(gè)歷史節(jié)點(diǎn)推送過(guò)人類(lèi)技術(shù)革命的迭代。
如今的碼農(nóng)們高喊著996固然讓人心疼,但行業(yè)發(fā)展中的另一個(gè)剖面也應(yīng)該被看見(jiàn):程序員的工作并不是簡(jiǎn)單的Ctrl C、Ctrl V這類(lèi)重復(fù)造輪子的工作,他們應(yīng)當(dāng)解放雙手,投入更具價(jià)值的生產(chǎn)工作中。
那么,這個(gè)價(jià)值版圖是如何分布,又怎樣呈現(xiàn)?
事實(shí)上,作為對(duì)代碼質(zhì)量和代碼最佳時(shí)間要求頗高的軟件開(kāi)發(fā)行業(yè),頂層的架構(gòu)設(shè)計(jì)往往是決定軟件質(zhì)量的核心,而軟件質(zhì)量作為基礎(chǔ)設(shè)施的核心部件,也勢(shì)必會(huì)影響企業(yè)整體數(shù)字化轉(zhuǎn)型的進(jìn)程。
這就好比造房子,水泥工、瓦工和木工都可以蓋房子,但精通于這幢建筑功能和需求的總設(shè)計(jì)師,必須高瞻遠(yuǎn)矚,對(duì)方方面面都思慮周全,而一個(gè)熟悉整體架構(gòu)設(shè)計(jì)和應(yīng)用的軟件開(kāi)發(fā)人才,在行業(yè)中其實(shí)是稀缺的。
要讓軟件研發(fā)人員真正具備價(jià)值、創(chuàng)造價(jià)值,就需要在需求分析和原型設(shè)計(jì)層面下功夫,讓后續(xù)的開(kāi)發(fā)、測(cè)試、運(yùn)維等工程實(shí)現(xiàn)真正的自動(dòng)化、工具化,通過(guò)人機(jī)協(xié)同,讓每一個(gè)程序員都有能夠成為「總設(shè)計(jì)師」的時(shí)間和可能,進(jìn)而推動(dòng)整個(gè)行業(yè)從手工作坊向智能化邁進(jìn)。這場(chǎng)因?yàn)榇a引發(fā)的革命也將真正為企業(yè)實(shí)現(xiàn)整體數(shù)字化轉(zhuǎn)型保駕護(hù)航。
某種程度上,行業(yè)「向上的溯源和突破」絕不是簡(jiǎn)單說(shuō)說(shuō)而已,這理應(yīng)成為行業(yè)參與者和建設(shè)者的共識(shí)。
因?yàn)椋绻驹谖磥?lái)的某個(gè)節(jié)點(diǎn)回顧當(dāng)下,這場(chǎng)代碼革命不僅是互聯(lián)網(wǎng)的理念和魅力,更在以軟件開(kāi)發(fā)提升為路徑,真正滲透進(jìn)各行各業(yè)的關(guān)鍵轉(zhuǎn)型期。
01
解放程序員,告別996
和幾個(gè)常年做軟件開(kāi)發(fā)的朋友聊了聊,他們對(duì)這場(chǎng)「代碼革命」的感受更為直觀,最直接的評(píng)價(jià)就是「人機(jī)交互」感很強(qiáng),基本上軟件開(kāi)發(fā)的全鏈路流程都可以讓自動(dòng)化工具代勞。
當(dāng)然,這并不是說(shuō)取代人,而是一種更高程度的人機(jī)協(xié)作——標(biāo)準(zhǔn)化、自動(dòng)化的跑通軟件工程全流程,使軟件開(kāi)發(fā)從開(kāi)發(fā)、測(cè)試到運(yùn)維,1人完成成為可能。
這種效率提升很明顯。舉例而言,最近筆者觀察到一款叫做飛算SoFlu的軟件機(jī)器人,他能夠通過(guò)人機(jī)協(xié)同,自動(dòng)完成軟件后端開(kāi)發(fā)、前端開(kāi)發(fā)、測(cè)試、運(yùn)維,幫助開(kāi)發(fā)者實(shí)現(xiàn)“一人一項(xiàng)目”。以一個(gè)小型開(kāi)發(fā)項(xiàng)目為樣本,傳統(tǒng)開(kāi)發(fā)模式下,需6人、耗時(shí)66小時(shí)才能完成包括需求分析、頂層設(shè)計(jì)、開(kāi)發(fā)、測(cè)試、聯(lián)調(diào)上線(xiàn)等全流程,但在使用SoFlu軟件機(jī)器人后,通過(guò)人機(jī)協(xié)作的方式,只需3個(gè)普通程序員、耗時(shí)9小時(shí)就能完成。
而從實(shí)際操作上看,如果一部分的基礎(chǔ)代碼編寫(xiě)工作交由軟件機(jī)器人完成,程序員自然能把更多精力放在前期的需求分析和系統(tǒng)設(shè)計(jì)上,同時(shí),對(duì)一部分非技術(shù)主導(dǎo)的企業(yè)來(lái)說(shuō),也適度降低了技術(shù)門(mén)檻。
在近期舉行的飛算SoFlu軟件機(jī)器人產(chǎn)品發(fā)布會(huì)上,中國(guó)石油的企業(yè)內(nèi)購(gòu)商城信息化負(fù)責(zé)人也分享了他們?cè)谌藛T有限的情況下,使用5個(gè)SoFlu軟件機(jī)器人,使原本在傳統(tǒng)開(kāi)發(fā)模式下,需要27人耗時(shí)300多天才能完成的項(xiàng)目,僅用9人45天就完成了。
整個(gè)過(guò)程,開(kāi)發(fā)人員省去了代碼編寫(xiě)和寫(xiě)代碼過(guò)程中的規(guī)范是否正確等困擾,而更專(zhuān)注從根本上熟知了每個(gè)功能的底層邏輯,在平臺(tái)出現(xiàn)問(wèn)題和需求提升過(guò)程中,可以馬上知道問(wèn)題的原因和可優(yōu)化的方向。
此外,以SoFlu軟件機(jī)器人今年上線(xiàn)的前端全自動(dòng)開(kāi)發(fā)平臺(tái)來(lái)看,該平臺(tái)客戶(hù)端可提供可視化的快速開(kāi)發(fā)模式,在拖拽操作同時(shí)調(diào)用已成型的表單等,一方面運(yùn)用豐富的頁(yè)面控件與前端界面快速交互,另一方面達(dá)成流程設(shè)計(jì)和配置節(jié)點(diǎn)。
此外,落實(shí)在應(yīng)用中,整個(gè)前端自動(dòng)開(kāi)發(fā)流程無(wú)業(yè)務(wù)場(chǎng)景限制,簡(jiǎn)化后端接口數(shù)據(jù)聯(lián)調(diào),生成前端部署包實(shí)現(xiàn)應(yīng)用項(xiàng)目私有化部署,不基于平臺(tái)本身運(yùn)行。
在這個(gè)邏輯下,程序員的雙手被解放,他們可以跳出基礎(chǔ)代碼,獲得更多時(shí)間去思考業(yè)務(wù)和架構(gòu)。
內(nèi)行人愛(ài)摳的就是這些門(mén)道。根據(jù)朋友的說(shuō)法,在軟件開(kāi)發(fā)行業(yè),各類(lèi)輔助型、半自動(dòng)化代碼平臺(tái)也是有的。部分平臺(tái)有前端開(kāi)發(fā)沒(méi)后端支撐,更別說(shuō)無(wú)代碼場(chǎng)景下復(fù)雜邏輯的開(kāi)發(fā)了,至于獨(dú)立部署和軟件工程管理能力,也還在進(jìn)階的路上。
這種情況下,誕生一個(gè)能夠兼顧前后端、測(cè)試、運(yùn)維的全棧式平臺(tái),就顯得尤為可貴了。
另外,當(dāng)大量的「重復(fù)性」工作被SoFlu軟件機(jī)器人代勞后,不僅是從業(yè)者個(gè)人,企業(yè)得到的效率提升,也是直觀而明顯的。
02
企業(yè)整體的降本增效
企業(yè)效率在這里還可以進(jìn)一步拆解,比如對(duì)軟件開(kāi)發(fā)部門(mén)的leader,比如對(duì)CTO。
如今的企業(yè)CTO是真的不容易,要管人、管項(xiàng)目還要管技術(shù)創(chuàng)新。我們常說(shuō),CTO是商業(yè)思維和技術(shù)思維交匯的那個(gè)點(diǎn),但在很多企業(yè)中,CTO總是困于還技術(shù)債,他們常常要解決大量的老系統(tǒng)、老代碼,被調(diào)侃工作內(nèi)容是一邊開(kāi)飛機(jī)一邊換引擎。
但實(shí)際上,在還技術(shù)債之外,內(nèi)部效率的提升,也就是團(tuán)隊(duì)建設(shè)和技術(shù)升級(jí),也是CTO工作的重中之重,并且,這種提升不是解決表面問(wèn)題,而是系統(tǒng)性地根治問(wèn)題。
這就和SoFlu軟件機(jī)器人的邏輯不謀而合了。與大多數(shù)玩家不同的是,在SoFlu軟件機(jī)器人的圖景里,有一個(gè)貫穿始終的邏輯:讓代碼實(shí)現(xiàn)從「人治」到「法治」,最終達(dá)成企業(yè)效率的徹底提升。
倪健曾在《簡(jiǎn)單之美》中解釋過(guò)這個(gè)邏輯:每個(gè)企業(yè)、每個(gè)項(xiàng)目的軟件開(kāi)發(fā)人員風(fēng)格并不一致,所習(xí)慣的代碼語(yǔ)言、書(shū)寫(xiě)格式也不一定一致,這導(dǎo)致很多企業(yè)的技術(shù)棧其實(shí)亂七八糟,一旦測(cè)試時(shí)崩了,問(wèn)題溯源和代碼審查時(shí)也會(huì)遇到諸多問(wèn)題。
而一個(gè)制度化、標(biāo)準(zhǔn)化工具的存在,其實(shí)是將一個(gè)團(tuán)隊(duì)內(nèi)的操作范式統(tǒng)一化,這樣,不論具體職位上的人員如何更替,都可以長(zhǎng)期持續(xù)地在目標(biāo)職位上發(fā)揮作用。
再則,通過(guò)這類(lèi)軟件機(jī)器人,代碼編寫(xiě)水平差異化的個(gè)體工程師,也會(huì)被拉平到一個(gè)相對(duì)高位。工具強(qiáng)平臺(tái)能力就強(qiáng),軟件質(zhì)量就過(guò)硬,而不是單純依靠「?jìng)€(gè)人能力為中心」,這對(duì)更高層級(jí)、非技術(shù)出身的管理者來(lái)說(shuō),也能更好地掌控和理解項(xiàng)目進(jìn)度。
總的來(lái)看,在這類(lèi)軟件機(jī)器人加持下,作為CTO管理的人少了,項(xiàng)目的質(zhì)量和效率提高了,且不用擔(dān)心代碼外泄、技術(shù)能力隨人走等管理風(fēng)險(xiǎn),并借由標(biāo)準(zhǔn)工具,實(shí)現(xiàn)以一抵十的效率提升。
03
代碼革命的未來(lái)
回到我們最開(kāi)始討論的話(huà)題,為什么我們強(qiáng)調(diào)在軟件開(kāi)發(fā)行業(yè)中,個(gè)體程序員的「向上突破」,以及為什么包括CTO在內(nèi)的軟件行業(yè)群體跳出技術(shù)債如此重要?
“因?yàn)橹挥心贸龈嗟臅r(shí)間思考頂層業(yè)務(wù)和框架,才能更好地創(chuàng)新,才能成為一個(gè)真正的「軟件人」” 2017年圖靈獎(jiǎng)得主大衛(wèi)·帕特森對(duì)此有過(guò)這樣的解釋。
飛算云智總裁陳定瑋曾經(jīng)提起過(guò)做飛算SoFlu軟件機(jī)器人的初衷和原則。行業(yè)可能有很多輔助開(kāi)發(fā)的優(yōu)化軟件,但做所謂的頂層設(shè)計(jì)和底層邏輯卻要完全依靠頂級(jí)的「總設(shè)計(jì)師」。
具體來(lái)說(shuō),鑒于場(chǎng)景需求的復(fù)雜性、互聯(lián)網(wǎng)技術(shù)選型的多樣性,一般的研發(fā)人員是沒(méi)有能力判斷哪些技術(shù)適用于哪些場(chǎng)景的,也就沒(méi)有能力去判斷整個(gè)技術(shù)棧發(fā)展的方向。而做頂層設(shè)計(jì)、系統(tǒng)架構(gòu)的總設(shè)計(jì)師,一般都是企業(yè)具備核心能力、技術(shù)領(lǐng)先優(yōu)勢(shì)的資深I(lǐng)T從業(yè)者或?qū)<?。所以大量的機(jī)械性工作應(yīng)當(dāng)被替代,整個(gè)軟件行業(yè)是可以在開(kāi)發(fā)、測(cè)試和運(yùn)維上適度輕量化,而將更大的精力放在最前期的設(shè)計(jì)階段。這就是陳定瑋產(chǎn)品理念中與眾不同的「重設(shè)計(jì)」。
如果行業(yè)里的人都能擁有這樣的工具,都愿意花更多時(shí)間來(lái)架構(gòu)設(shè)計(jì),那軟件行業(yè)真正的突破才有可能加速到來(lái)。
而落地到真正的實(shí)踐中,互聯(lián)網(wǎng)架構(gòu)也并不僅僅依靠設(shè)計(jì)。大量的實(shí)戰(zhàn),不間斷的演練、驗(yàn)證,和中石油、君智等企業(yè)的磨合,以及相關(guān)實(shí)戰(zhàn)經(jīng)驗(yàn)的歸納、總結(jié)和梳理,直至最后的系統(tǒng)化呈現(xiàn)——一環(huán)扣一環(huán)的改造,一程接一程的重構(gòu),才能為企業(yè)磨出一套行之有效、平穩(wěn)順暢的系統(tǒng)工具,才能使得企業(yè)CTO能夠更加從容的面對(duì)團(tuán)隊(duì)管理、項(xiàng)目交付問(wèn)題。
在過(guò)去的一年多以來(lái), SoFlu軟件機(jī)器人共計(jì)迭代了五十多個(gè)版本,基本上每?jī)蓚€(gè)星期更新一次,產(chǎn)品質(zhì)量和安全性不斷提升。從2020年11月后端全自動(dòng)開(kāi)發(fā)平臺(tái)上線(xiàn)到2022年4月前端全自動(dòng)開(kāi)發(fā)平臺(tái)上線(xiàn),前前后后新增、優(yōu)化、修復(fù)的問(wèn)題高達(dá)幾百個(gè)。
在反復(fù)迭代下,整個(gè)軟件生產(chǎn)過(guò)程中的管理、開(kāi)發(fā)、測(cè)試、運(yùn)維的自動(dòng)化及一體化才被達(dá)成,真正的軟件全棧式開(kāi)發(fā)管理才能夠得以實(shí)現(xiàn)。
最后,從更實(shí)際的層面來(lái)看,比起傳統(tǒng)行業(yè)動(dòng)輒幾千萬(wàn)的開(kāi)發(fā)投入,和每年幾百萬(wàn)的后續(xù)維護(hù)成本,在行業(yè)實(shí)際發(fā)展中,跟隨企業(yè)業(yè)務(wù)需求發(fā)展變化而迭代的工具,才更值得被肯定。以當(dāng)前一個(gè)SoFlu軟件機(jī)器人,每年20萬(wàn)的年費(fèi)來(lái)說(shuō),和一個(gè)初級(jí)程序員的年薪差不多,我認(rèn)為部分專(zhuān)業(yè)的軟件開(kāi)發(fā)公司、一般性企業(yè)的IT團(tuán)隊(duì)都值得去試一試。
一方面,傳統(tǒng)行業(yè)科技升級(jí)的分水嶺已至,既然行業(yè)內(nèi)已經(jīng)誕生了跟隨企業(yè)需求變化而迭代的工具,那么為什么不站在巨人的肩膀上?
當(dāng)前,數(shù)字化、智能化的確已經(jīng)成為現(xiàn)代科技的重要標(biāo)簽,而企業(yè)的數(shù)字化轉(zhuǎn)型,也正以加速度的方式,讓各行各業(yè)悄然發(fā)生巨變。
在軟件行業(yè),現(xiàn)有作業(yè)模式的改變已經(jīng)初現(xiàn)端倪,正如中國(guó)工程院院士倪光南說(shuō)的,“今天,軟件的重要性不言而喻,軟件工程的發(fā)展也應(yīng)當(dāng)跟上時(shí)代的步伐,而不能停留在一些陳舊的老觀念、老規(guī)范、老平臺(tái)上。我國(guó)軟件界在軟件工程方面出現(xiàn)的一些創(chuàng)新,例如“低代碼開(kāi)發(fā)平臺(tái)”、“軟件機(jī)器人”等等,是值得支持和鼓勵(lì)的?!?/span>
代碼革命的未來(lái),就在于此。