NCDP會讓程序員失業?多慮了
18年的時候,我第一次聽到NCDP這個概念,當時只是稍做了一下了解,沒怎么在意。但是發現這兩年這個概念越來越火。
NCDP的全稱是:No-code development platform。無代碼開發平臺。
乍一聽這個名字挺厲害的,甚至不少人提出的問題是:以后是不是程序員要失業了?
其實我覺得這個名字噱頭大于實際的意義。
的確,NCDP的出現,間接地看,恰好也符合我們國家供給側改革的主基調。
因為很多互聯網企業,在之前享受了人口紅利帶來的大量市場需求,對內部的降本提效并沒有太多關注。而技術人員占據了互聯網企業人工成本的大頭。
其次,很多傳統企業希望做數字化轉型,但是組建一個完整的技術團隊成本又太高。如果采購標準化的SAAS產品,又無法完全貼合自身的業務情況,必然有或多或少的工作場景無法被覆蓋。
但是很多文章卻因此提到程序員是不是因為NCDP而要失業了,我覺得就有點夸張了。
甚至有人還一本正經的喊出口號:中臺之后,就是無代碼編程。
這兩個概念其實沒什么聯系,唯一算得上聯系的估計就是都能降本提效吧。
不得不說,現在的NCDP產品的UI設計的都很不錯,界面很漂亮,特效也很炫酷。但很多人只看到了展現層面很棒,卻可能忽視了「流程」這個概念。
一個完整的系統是離不開流程的,這才是人與人之間通過軟件高效協作的基礎,單單只是信息的共享,并不夠。
雖然目前的確有些無代碼平臺也有提供通過可視化界面設置流程的功能,但是這些流程更偏向簡單的表單信息的流轉而已。真實業務中會存在的不同表單之間的轉換,拆分、合并等等復雜操作并無法很好地滿足。
因為NCDP本質是一個「在給定范圍內做事」的解決方案。如果要滿足各種交錯復雜的情況,對于基礎組件的數量需求是指數級的提高。這個不可能僅僅由NCDP背后的開發團隊來完成。
所以,單從實際的功能性上來說,不可能代替程序員。
我們再從程序員的價值這個角度來看看。
程序員的價值,僅僅是將業務邏輯翻譯成編程語言,然后交給計算機去執行嗎?
肯定認為不是。
程序員的核心工作不是coding而是「抽象」、「建模」,coding只是將這些信息通過編程語言傳遞給計算機去運算的媒介而已。比如,
- WMS系統是對現實中物流的建模。
- 電子商務網站是對現實中交易的建模。
- ……
哪怕再簡單的應用程序,都需要完成抽象和建模這兩個動作才能完成開發工作。
如果你認可這個觀點,那么再來看“NCDP會不會代替程序員”這個問題就變成“NCDP能代替程序員進行抽象和建模嗎?”。
我想答案是顯而易見的。因為任何NCDP都不可能通過有限的模塊、組件來表達現實中的所有事物。更何況,我們的世界還在快速發展。
我們可以再大膽想象一下,假如真的存在可以滿足以上要求的NCDP,他會有多復雜?茫茫多的配置、組件。像不像你現在的軟件系統里的配置和引用的二方庫、三方庫?
到時候學習NCDP的使用,就會類似于學習一門更高級的編程語言,就像從匯編到c++那樣。只是門檻相對會低一些,就像匯編與C++的區別,但還是需要專業的人員來做。
所以,我寧愿認為以后NCDP是一種類似于當代辦公人員會用excel一樣的基礎技能,可以用它來解決一些簡單的問題,但它不至于代替程序員。
但是,作為程序員面對這樣一股潮流襲來,也得作出一些改變。大致有三條路可以走。
第一條路,一定要更深入的掌握業務知識,成為一個懂業務的程序員。因為以CRUD為主的系統是最容易被業務人員用NCDP代替掉的。而如果你能成為某個開發團隊中的業務專家,你自然可以勝任業務最復雜的工作。
第二條路,往技術底層走。與NCDP相似的LCDP(低代碼開發平臺)也在蓬勃發展,它的特點就在于針對未滿足的場景允許通過額外的編碼來自定義實現。但是屆時的編程環境已經與現在不同,你通過編碼所能掌握的范圍有限,如何編寫出高性能、穩定好的代碼變得更加的重要。
另外,NCDP如果要繼續發展可能會出現組件、項目模版生產者的崗位,為平臺提供更加豐富的組件和模版。此時你也得對NCDP背后所用到的技術了如指掌才行。
最后一條路,你也可以進入到軟件是非標準化的行業。比如,游戲行業。在那里找回你熟悉的編程感覺。
簡而言之,未來做程序員的門檻又要提高了。
其實你仔細回想一下,你會發現NCDP提倡的軟件開發方式早就在一些特定領域內出現了。比如,CMS系統。
甚至微軟在20年前就推出了拖拉控件式的編程方式WinForm、Asp.Net,雖然一直沒能成為主流。
如今的NCDP洶涌襲來,自然是有它的優勢的。但是我們也不能忽略它背后可能會帶來的新麻煩。
想象一下,以后每個人都可以都可以搭建應用,那么會不會導致更多的數據冗余和信息孤島產生?而且冗余的數據如果沒有及時同步帶來的后果可想而知。
另外,如果不加以限制,通過NCDP搭建應用程序的數量會爆炸式增長,長期如何來維護?誰來維護?等等很多問題在等著我們。
好了,總結一下。
這篇呢Z哥和你聊對當下時髦的NCDP的看法。首先,我認為不管從功能性角度還是價值角度都不會代替程序員,當然以CRUD為主的軟件肯定會受到影響。
以后NCDP最多會是像Excel那樣的通用技能,每個人都會一些簡單的使用方式,比如用來拉拉報表什么的。
但是,作為程序員我們還是要未雨綢繆一下,我能想到的應對這個潮流的道路有三條。
- 更深入的掌握業務知識
- 往技術底層走
- 進入到軟件是非標準化的行業
希望對你有所啟發。
不管怎樣,“人人都是程序員”的時代即將來臨,你準備好了嗎?