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