上“低代碼”半年,30名程序員被裁,CTO離職(低代碼會(huì)取代程序員嗎)
一位讀者小M給我講述了發(fā)生在他們公司的真實(shí)故事,為了避免不必要的麻煩,隱去一些敏感信息,我將整個(gè)事件的經(jīng)過(guò)整理出來(lái):
小M是廣州某制造企業(yè)的技術(shù)負(fù)責(zé)人,下面帶了50個(gè)技術(shù)人員,負(fù)責(zé)該公司OA、CRM、人事等多個(gè)日常運(yùn)營(yíng)類系統(tǒng)。小M也是我的知識(shí)星球“老K星際不迷航”的會(huì)員,私下咨詢過(guò)我不少關(guān)于個(gè)人職業(yè)規(guī)劃、技術(shù)團(tuán)隊(duì)管理、低代碼方面的問(wèn)題。
感覺(jué)上,小M是個(gè)挺有想法的人,也很勤奮,在知識(shí)星球里經(jīng)常輸出、幫著回答其它會(huì)員的問(wèn)題。
在小M看來(lái),目前他們公司的問(wèn)題是:整體研發(fā)效率不高、業(yè)務(wù)方想法太多、老板對(duì)IT不是很重視。
在這種環(huán)境下,技術(shù)經(jīng)理的工作壓力非常大:一方面,業(yè)務(wù)方覺(jué)得系統(tǒng)交付太慢,提任何需求都需要排期;另一方面,老板覺(jué)得IT的成本太高,一直不愿意增加IT投入;此外,技術(shù)人員覺(jué)得業(yè)務(wù)的需求經(jīng)常變,沒(méi)上線就已經(jīng)推翻原來(lái)的需求了,經(jīng)常導(dǎo)致返工。
小M曾經(jīng)問(wèn)過(guò)我,這種情況應(yīng)該怎么破局,我就問(wèn)他:你是為自己,還是為公司?因?yàn)椴煌哪繕?biāo),就有不同的打法。如果為自己,那就走上層路線,唯一要做的事情就是伺候好老板,只要他在老板那里說(shuō)得上話,業(yè)務(wù)方的壓力、員工的壓力,那都不是事。
小M跟我說(shuō),為公司。這讓我挺詫異的,職場(chǎng)當(dāng)中不把自己的利益放在第一位,確實(shí)難得,這讓我對(duì)小M高看了兩眼。我給他的建議是,抓主要矛盾。小M梳理了一下,現(xiàn)在最大的矛盾就是:系統(tǒng)交付慢、業(yè)務(wù)方滿意度低,經(jīng)常到老板那里投訴。
我建議他研究一下“低代碼”,用兩條腿走路:一、把有限的研發(fā)資源,投入到核心業(yè)務(wù)系統(tǒng)的研發(fā)當(dāng)中,跟業(yè)務(wù)方一起做需求治理;二、用“低代碼”承接非核心業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)需求、或創(chuàng)新類需求。
于是,小M經(jīng)過(guò)一番調(diào)查,選擇了國(guó)內(nèi)一家“低代碼”供應(yīng)商,最先把OA、CRM系統(tǒng)用低代碼進(jìn)行替換。在供應(yīng)商的幫助下,順利完成了系統(tǒng)搭建、用戶權(quán)限打通、還做了數(shù)據(jù)遷移,基本上算是用起來(lái)了。
漸漸地,業(yè)務(wù)方覺(jué)得“低代碼”平臺(tái)挺好,調(diào)整流程、加個(gè)字段,不再需要排期,上午提的需求,下午就能上線。這個(gè)消息很快傳到了老板耳朵里,老板兩眼放光,讓小M趕緊給他匯報(bào)一下,這個(gè)低代碼究竟能夠做什么。
經(jīng)過(guò)幾次匯報(bào)之后,老板總算明白了低代碼到底是干啥的,于是他非常支持小M的想法,希望他把盡可能多的系統(tǒng)用低代碼平臺(tái)來(lái)實(shí)現(xiàn)。小M聽(tīng)了之后,很高興,連忙跟技術(shù)人員一起梳理,在后來(lái)的3個(gè)月里加班加點(diǎn),又把工單系統(tǒng)、供應(yīng)商管理系統(tǒng)陸續(xù)遷到低代碼平臺(tái)中。
也就是說(shuō),除了核心業(yè)務(wù)系統(tǒng)之外,能遷移的系統(tǒng)都完成了遷移。原本小M的計(jì)劃是,之前負(fù)責(zé)這些系統(tǒng)的技術(shù)人員,把更多的精力投入到核心業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)當(dāng)中,底層架構(gòu)做個(gè)升級(jí),順便還技術(shù)債,再豐富一下接口,讓核心業(yè)務(wù)系統(tǒng)的健壯性、代碼可維護(hù)性、可擴(kuò)展性得到進(jìn)一步提升。
但是奇葩的事情發(fā)生了,上周被老板叫到辦公室,HR也在場(chǎng),讓他把非核心系統(tǒng)的開(kāi)發(fā)人員列一個(gè)表,小M也不知道老板的葫蘆里賣什么藥,就把名單整理了出來(lái),總共30人。
第二天,名單上的人員就都接到了HR的裁員通知,給了N 1賠償,要求當(dāng)天辦理離職和交接。
小M完全蒙在鼓里,非常氣憤地找老板理論,老板笑臉相迎,說(shuō)是董事會(huì)的決定,自己也是剛剛得到通知。小M不傻,一聽(tīng)就知道被老板當(dāng)猴耍了,老板的騷操作搞得他非常的被動(dòng)。
但是,眼下也顧不得生氣,趕緊聯(lián)系行業(yè)的朋友,挨個(gè)給被裁撤的員工找下家,我也幫小M內(nèi)推了好幾個(gè)崗位。
一周后,小M在微信上跟我說(shuō),本來(lái)一心為公司降本增效,才引入低代碼,通過(guò)梳理核心系統(tǒng)和非核心系統(tǒng),優(yōu)化IT投入產(chǎn)出比。哪里知道,老板在背后給他來(lái)這么一手,搞得他的處境非常被動(dòng),現(xiàn)在團(tuán)隊(duì)的氣氛也變得非常微妙,沒(méi)被裁撤的員工,也紛紛在找下家。
我說(shuō),求仁而得仁,又何怨?你當(dāng)初的目的不就是為公司降本增效嗎?
小M沉默了,其實(shí)道理他都明白,這是他的職責(zé)所在,但是他過(guò)不了自己這一關(guān),30幾個(gè)下屬都是他一個(gè)一個(gè)面試進(jìn)行的,現(xiàn)在卻要一個(gè)一個(gè)地送走,換了誰(shuí)不難受?
擺在小M面前更嚴(yán)峻的問(wèn)題是,今后在公司將如何自處?老板明擺著是對(duì)他不信任的,連裁員這樣的事情,他也是最后一個(gè)知道的。下屬們也沒(méi)有了安全感、歸屬感,研發(fā)效率上肯定會(huì)受到影響。業(yè)務(wù)方已經(jīng)嘗到了“低代碼”的甜頭,反而對(duì)IT的容忍度變低,應(yīng)該會(huì)變本加厲的在老板面前捅刀子。
小M的選擇其實(shí)并不多,其實(shí)經(jīng)歷了這個(gè)事情還是利大于弊的,雖然感情上接受不了,但是至少讓他看清楚了老板的真實(shí)嘴臉,否則等到公司臨上市前被掃地出門,不是更慘?而且積累了低代碼的實(shí)施經(jīng)驗(yàn),簡(jiǎn)歷上也加分了,塞翁失馬,焉知非福。
小M的故事就聊到這里,接下來(lái)聊聊關(guān)于低代碼方面,大家關(guān)注的幾個(gè)問(wèn):低代碼究竟適合用來(lái)做什么?不適合做什么?低代碼會(huì)不會(huì)徹底干掉程序員?
1、低代碼適合做什么?
從小M實(shí)施低代碼的故事當(dāng)中我們了解到,除了業(yè)務(wù)核心系統(tǒng)之外,他們幾乎把非核心系統(tǒng)都用低代碼實(shí)現(xiàn)了。
這種用法其實(shí)是低代碼非常典型的應(yīng)用方式,一般來(lái)說(shuō)企業(yè)不會(huì)用低代碼從零來(lái)開(kāi)發(fā)整套核心業(yè)務(wù)系統(tǒng),比如ERP,因?yàn)槿绻阈枰惶譋RP,直接購(gòu)買成熟的解決方案就可以了。除非你的情況跟特斯拉一樣,公司的業(yè)務(wù)模式跟同行業(yè)有很大區(qū)別(傳統(tǒng)汽車銷售是經(jīng)銷商模式,特斯拉是直營(yíng)模式),那就另當(dāng)別論了。
就目前而言,低代碼不適合用來(lái)從0到1構(gòu)建厚重的企業(yè)核心數(shù)字化系統(tǒng),低代碼更適合基于核心數(shù)字化系統(tǒng)之上,構(gòu)建創(chuàng)新類應(yīng)用、敏捷運(yùn)營(yíng)類應(yīng)用。
有個(gè)更形象的說(shuō)法,低代碼更適合做企業(yè)數(shù)字化建設(shè)當(dāng)中“最后一公里”的事情。
從小M的案例當(dāng)中可以看到,這樣的應(yīng)用方式極大提升了技術(shù)研發(fā)和系統(tǒng)交付的整體效率。
低代碼當(dāng)前正在處于“技術(shù)成熟度曲線”的創(chuàng)新萌芽期,隨著低代碼平臺(tái)的日益成熟,模板越來(lái)越豐富、生態(tài)越來(lái)越完善,未來(lái)低代碼的適用范圍也會(huì)得到擴(kuò)展。
當(dāng)前比較適合采用低代碼來(lái)開(kāi)發(fā)的5類應(yīng)用有:
1、企業(yè)門戶。包括App、小程序、PC門戶等等,數(shù)據(jù)都來(lái)自中臺(tái)、后臺(tái),企業(yè)門戶只是做展示,以及簡(jiǎn)單的互動(dòng)。
2、數(shù)據(jù)操作及展示應(yīng)用。通過(guò)連接企業(yè)的數(shù)據(jù)庫(kù),把生產(chǎn)經(jīng)營(yíng)的數(shù)據(jù)進(jìn)行編輯刪除查詢等操作。
3、基于表單的應(yīng)用?;跀?shù)據(jù)庫(kù)的表單收集、處理、統(tǒng)計(jì)類應(yīng)用。
4、業(yè)務(wù)流程應(yīng)用。定義復(fù)雜的工作流,跨部門協(xié)作流程,復(fù)雜審批流程,比如:OA、人力、財(cái)務(wù)等系統(tǒng)。
5、移動(dòng)端應(yīng)用?;谝延泻诵纳a(chǎn)經(jīng)營(yíng)系統(tǒng),進(jìn)行移動(dòng)化的應(yīng)用場(chǎng)景。
講完低代碼適合做什么,我們?cè)賮?lái)聊聊:低代碼不適合做什么。
02、低代碼不適合做什么?
如上文提到的,就目前而言低代碼不適合用來(lái)從0開(kāi)始構(gòu)建厚重的企業(yè)核心數(shù)字化系統(tǒng),因?yàn)槭芟抻谀0?、生態(tài)、可擴(kuò)展性。
低代碼畢竟不是高級(jí)開(kāi)發(fā)語(yǔ)言,因此對(duì)于界面效果要求特別高、復(fù)雜的算法和數(shù)據(jù)挖掘、高性能和復(fù)雜系統(tǒng)架構(gòu)、要求較高的底層開(kāi)發(fā)等等,都不適合使用低代碼。
總結(jié)一下,不適合用低代碼開(kāi)發(fā)的應(yīng)用場(chǎng)景:
1、構(gòu)建厚重的企業(yè)核心數(shù)字化系統(tǒng)。比如構(gòu)建一套完整的ERP、CRM等等,有這類需求的企業(yè),更適合購(gòu)買專業(yè)的企業(yè)核心數(shù)字化系統(tǒng)。
2、對(duì)界面效果要求較高的應(yīng)用。比如短視頻應(yīng)用、交互酷炫的游戲。
3、復(fù)雜的算法和數(shù)據(jù)挖掘。雖然低代碼可以處理復(fù)雜的業(yè)務(wù)邏輯,但是不適合用來(lái)處理復(fù)雜算法和數(shù)據(jù)挖掘,這類應(yīng)用應(yīng)該采用更專業(yè)的BI開(kāi)發(fā)工具、機(jī)器學(xué)習(xí)平臺(tái)等工具。
4、高性能和復(fù)雜架構(gòu)。許多互聯(lián)網(wǎng)巨頭的并發(fā)量動(dòng)輒千萬(wàn)、上億,為了優(yōu)化性能需要做很多措施,如服務(wù)化、中臺(tái)化、集群化、云化等等。低代碼是相對(duì)標(biāo)準(zhǔn)的:界面層、邏輯層、數(shù)據(jù)層的架構(gòu)模式,無(wú)法應(yīng)對(duì)高性能和架構(gòu)靈活性。
5、要求較高的底層開(kāi)發(fā)。如設(shè)備、硬件接口、驅(qū)動(dòng)程序等等,這類開(kāi)發(fā)工作可能C、匯編語(yǔ)言更適合。
03、低代碼會(huì)徹底干掉程序員嗎?
從小M的故事中可以看出,低代碼能夠把程序員從技術(shù)含量較低的CRUD工作中釋放出來(lái),去做一些更有價(jià)值的架構(gòu)優(yōu)化、底層服務(wù)升級(jí)、復(fù)雜算法方面的工作。
從低代碼的發(fā)展趨勢(shì)來(lái)看,越來(lái)越多的程序開(kāi)發(fā)工作,將會(huì)通過(guò)低代碼來(lái)完成,低代碼干掉程序員的事情已經(jīng)在發(fā)生了。雖然,小M的故事有一定的特殊性,是在特定的公司,特定的領(lǐng)導(dǎo),特定的業(yè)務(wù)場(chǎng)景下才會(huì)發(fā)生。
但是,危機(jī)給了我們足夠的警示,需要我們冷靜面對(duì)、仔細(xì)思考,K哥結(jié)合自己的思考以及同行的建議,總結(jié)了5項(xiàng)應(yīng)對(duì)策略,希望每一位從事軟件開(kāi)發(fā)的朋友引起足夠的重視:
1、警惕重復(fù)性編碼工作。如前文提到的,低代碼已經(jīng)能夠完成復(fù)雜業(yè)務(wù)流程類開(kāi)發(fā)工作,能夠基于表單驅(qū)動(dòng)、模型驅(qū)動(dòng)的方式進(jìn)行軟件開(kāi)發(fā)工作。最先被替代的就是那些技術(shù)含量低的重復(fù)性編碼工作,如果你是一個(gè)CURD BOY,請(qǐng)立刻停止低水平的重復(fù)勞動(dòng),否則離被淘汰的日子不遠(yuǎn)了。
2、在低代碼不擅長(zhǎng)的領(lǐng)域深耕。低代碼因?yàn)槭芟抻谀0?、生態(tài)、可擴(kuò)展性,因此對(duì)于界面效果要求特別高、復(fù)雜的算法和數(shù)據(jù)挖掘、高性能和復(fù)雜系統(tǒng)架構(gòu)、要求較高的底層開(kāi)發(fā)等方面工作還不能勝任。所以,這類技術(shù)含量較高的工作,就目前來(lái)講是相對(duì)安全的,建議程序員們?cè)谶@些領(lǐng)域進(jìn)行深耕,提升職場(chǎng)核心競(jìng)爭(zhēng)力。
3、遠(yuǎn)離短視的老板。如果你的老板對(duì)技術(shù)不重視,沒(méi)有把企業(yè)數(shù)字化能力看做公司的核心能力,建議你盡早遠(yuǎn)離。因?yàn)?,隨著低代碼的不斷成熟,越來(lái)越多的業(yè)務(wù)系統(tǒng)研發(fā)工作將由低代碼平臺(tái)來(lái)完成,短視的老板會(huì)更看中投入產(chǎn)出比,像小M公司里發(fā)生的事,在行業(yè)里會(huì)越來(lái)越多。
4、永遠(yuǎn)不要停止學(xué)習(xí)。技術(shù)在不斷演進(jìn),工程師的工作方式也在不斷發(fā)生改變,只有不斷學(xué)習(xí)新的技術(shù)才能跟上時(shí)代的發(fā)展。一旦停止學(xué)習(xí),就不再適合從事一線技術(shù)開(kāi)發(fā)工作,所以,如果你熱愛(ài)技術(shù),那就成為一名終身學(xué)習(xí)者吧,這是唯一的出路。
5、啟動(dòng)職場(chǎng)B計(jì)劃。以前在許多文章里都寫過(guò)“ABZ計(jì)劃”,這里就不多介紹了,“ABZ計(jì)劃”不僅給了你職場(chǎng)上的保障,還能夠幫助你找到一生熱愛(ài)的職業(yè),比如《三體》的作者劉慈欣,脫口秀演員呼蘭、龐博,都是通過(guò)B計(jì)劃轉(zhuǎn)A計(jì)劃,找到了一生熱愛(ài)的職業(yè),實(shí)現(xiàn)了人生躍遷。
結(jié)語(yǔ)
最后,本文的目的并不是想引起焦慮,相反,當(dāng)我們察覺(jué)到了危機(jī)的來(lái)臨,提前做好了應(yīng)對(duì)的準(zhǔn)備,就沒(méi)有什么好擔(dān)心的了。拿破侖說(shuō):“偉大的人之所以取得成功,都是因?yàn)樗麄兌庙槕?yīng)法則,懂得努力適應(yīng)一切障礙?!?多說(shuō)無(wú)益,干就完了。
源:技術(shù)領(lǐng)導(dǎo)力