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