低代碼和無代碼(LC/NC)工具制造商正面臨一場艱苦的戰(zhàn)斗,試圖說服人們,尤其是專業(yè)開發(fā)人員,使用甚至只是嘗試他們的工具和平臺。少數(shù)平臺已經(jīng)進入這個市場,但大多數(shù)軟件開發(fā)無疑仍然是由編寫代碼的專業(yè)人員完成的。
從工具制造商的角度來看,缺乏興趣似乎令人困惑。更快的開發(fā)、更低的成本、更少的錯誤、更容易的部署、托管的環(huán)境——為什么有人會拒絕這些烏托邦式的視覺工具制造商喜歡展示的東西?為什么這么多人寧愿繼續(xù)與困難的語言、復雜的錯誤跟蹤和晦澀的環(huán)境設(shè)置作斗爭?
我一直在與開發(fā)人員交談,閱讀文章,并在討論論壇上搜索這些問題的答案,并整理了一些提出的原因。
這對他們的事業(yè)沒有幫助
學習低代碼工具可能需要大量的時間和精力投入,但學習特定的LC/NC工具幾乎沒有專業(yè)價值。即使在軟件開發(fā)公司很少使用LC/NC工具的情況下,下一個雇主也很可能不需要員工開發(fā)人員通過學習該工具獲得的技能。
大多數(shù)開發(fā)工作都需要對廣泛使用的語言和框架有深入的了解和經(jīng)驗,并且沒有像React、Angular、Python、Java或C#這樣廣泛使用的低代碼工具。
很少有開發(fā)工作需要了解LC/NC工具,而開發(fā)人員在知道LC/NC工具后找到更好工作或賺更多錢的可能性非常低。因此,開發(fā)人員最好花時間學習和完善就業(yè)市場上需求量很大的無數(shù)技能、框架和語言之一。
開發(fā)人員花了數(shù)年時間學習如何編寫代碼
在2021年 Stack Overflow開發(fā)者調(diào)查中,近70%的開發(fā)者聲稱他們擁有計算機科學或相關(guān)學科的學士學位或更高學位。這意味著大多數(shù)開發(fā)人員花費數(shù)年時間學習編程、學習各種語言、系統(tǒng)架構(gòu),以及普遍練習和完善編寫代碼的藝術(shù)。使用LC/NC工具通常意味著放棄他們來之不易的經(jīng)驗和投資所代表的優(yōu)勢。因此,大多數(shù)開發(fā)人員更愿意依靠他們已經(jīng)辛苦獲得的寶貴技能也就不足為奇了。
如果LC/NC工具確實兌現(xiàn)了它們的承諾,那么未來將不再需要編寫代碼來創(chuàng)建應(yīng)用程序。編程將移動到更高的抽象級別,應(yīng)用程序?qū)默F(xiàn)有組件組裝而不是編碼。因此,程序員基本上威脅要通過使用和支持更多地使用LC/NC工具來使他們來之不易的技能變得多余。因此,LC/NC工具不成功實際上符合他們的利益。
開發(fā)人員不太關(guān)心速度
當開發(fā)人員為軟件公司工作時,他們通過交付具有特定特征的代碼獲得報酬。這些包括易于閱讀、可測試、結(jié)構(gòu)良好、可靠、高效、遵循標準等。維護中等復雜應(yīng)用程序的開發(fā)人員會明白確保代碼盡可能簡單和易于理解的重要性。這些品質(zhì)對于代碼的可維護性至關(guān)重要。
代碼通常由更高級的程序員審查,他們也關(guān)心這些品質(zhì)并強調(diào)它們。與開發(fā)人員相比,他們可能對更快地完成工作更感興趣,但他們知道代碼錯誤、效率低下、編寫晦澀難懂且難以擴展是難以維護的。
這個糟糕的代碼會導致很多麻煩,并且會變得非常昂貴。雖然交付代碼的速度是相關(guān)的,但代碼的組織和編寫方式通常優(yōu)先于交付速度。
因此,向開發(fā)人員推銷LC/NC工具的開發(fā)速度實際上可能不會產(chǎn)生預(yù)期的影響。
開發(fā)人員喜歡編碼
人們是模糊的和情緒化的。他們有相互沖突的優(yōu)先事項,經(jīng)常不確定、不準確和撒謊。通常他們甚至不知道自己在做什么以及為什么要這樣做。人們可能會很困惑。計算機要簡單得多。計算機只是按照程序員給出的指令進行操作,如果這些指令不正確,程序就會失敗。定義一組任務(wù)并看到它們立即準確地完成的精確度給了許多人一種安全感和快樂感。
編碼中有許多開發(fā)人員真正喜歡的創(chuàng)意元素。編程是一個非常復雜的謎題,充滿了腦筋急轉(zhuǎn)彎,跨越了幾十個模塊、多層和數(shù)千行代碼。單個Web應(yīng)用程序可以很容易地包含五種或更多不同的語言一起工作(例如HTML、JS、CSS、C#、SQL)。制作由聯(lián)鎖運動部件組成的復雜物體,并觀察它們在微妙的循環(huán)中工作,因為它們發(fā)揮了內(nèi)置邏輯的后果,這可能會令人著迷,并帶來強烈的成就感。
軟件存在的原因是為了讓生活更輕松,我們從根本上構(gòu)建軟件來幫助人們做得更好。一旦你知道如何編寫代碼——用任何語言——你就可以構(gòu)建任何你能想象到的東西。想象一些東西然后從無到有創(chuàng)造它是一種快樂,尤其是當它對他人有用并讓他們快樂時。
開發(fā)人員不會選擇技術(shù)堆棧
開發(fā)人員在項目中停留的時間越長,他們在擴展應(yīng)用程序方面就越好,他們在發(fā)現(xiàn)和解決問題方面的效率就越高。當開發(fā)人員離職時,他們通常會隨身攜帶有關(guān)應(yīng)用程序復雜細節(jié)的深入了解。這種知識很難重新獲得,當這些員工被替換時,他們支持的應(yīng)用程序往往會進入不穩(wěn)定階段,有時甚至會陷入混亂。因此,盡管軟件公司對穩(wěn)定性很感興趣,但軟件開發(fā)人員通常只在一個雇主那里呆幾年。
軟件公司用來減輕知識損失的一種策略是使用在開發(fā)人員社區(qū)中廣泛使用和眾所周知的技術(shù)。使用眾所周知的堆棧可以更容易地找到有技能的人來雇用。它還可以幫助這些人了解使用他們構(gòu)建的應(yīng)用程序的來龍去脈。開發(fā)人員可能是決定將哪些技術(shù)用于項目的影響者,但通常是高級工程師甚至管理層使用這些標準來決定堆棧。因此,向開發(fā)人員推銷LC/NC工具可能會錯失良機。
押注工具是有風險的
客戶往往很難確定他們將來可能會在哪里申請。這是可以理解的,因為未來很難預(yù)測。因此,應(yīng)用程序所有者需要適應(yīng)不斷變化的需求,以確保應(yīng)用程序的商業(yè)成功。這通常意味著修改商業(yè)模式并改變支持這種模式的技術(shù)。經(jīng)驗豐富的開發(fā)人員知道這一點,并且喜歡構(gòu)建能夠適應(yīng)未來不斷變化的需求的開放系統(tǒng)。創(chuàng)建這種適應(yīng)性強的系統(tǒng)的最佳方法是使用支持良好的語言和框架對其進行編碼。
許多 LC/NC工具都是新的、不成熟的,并且具有很大的技術(shù)限制。這些限制通常不會被宣傳,而且通常也只是很少記錄。軟件公司真正找到這些限制的唯—方法是嘗試一個工具并構(gòu)建一個真正的應(yīng)用程序。大多數(shù)限制只有在投入大量時間和精力后才會變得明顯。軟件開發(fā)既昂貴又冒險,而這些未知因素進一步增加了開發(fā)人員、軟件公司及其客戶的風險。
鎖定交易
許多平臺不允許將該平臺中構(gòu)建的應(yīng)用程序?qū)С鰹橥ㄓ玫摹⒖删庉嫷母袷?。他們鎖定應(yīng)用程序,從而要么將開發(fā)人員綁定到平臺,要么要求他們從頭開始重建他們的應(yīng)用程序。考慮到未來的需求是不確定的,而且 LC/NC 工具的局限性通常會一直隱藏到項目的后期,因此開發(fā)人員可能會非常警惕被鎖定也就不足為奇了。
LC/NC過去曾多次失敗
可視化開發(fā)工具并不新鮮。視覺發(fā)展的早期嘗試已經(jīng)在50年前進行。從那時起,大量好的和壞的可視化開發(fā)環(huán)境和平臺來來去去,但它們都沒有對應(yīng)用程序的創(chuàng)建方式產(chǎn)生重大影響。
任何押注任何這些工具、投入時間和精力來學習它們并說服客戶在其中任何一個上構(gòu)建項目的人都輸了。這段歷史表明,我們今天遇到的任何工具都不太可能在十年后仍然存在。許多開發(fā)人員可能會仔細考慮這些事實,并認為LC/NC是一條死胡同。
怎么辦?
那么,LC/NC是失敗的原因嗎?在嚴肅的軟件開發(fā)世界中是否沒有LC/NC的位置?LC/NC工具制造商能否以某種方式克服這些障礙并激勵更多開發(fā)人員使用LC/NC產(chǎn)品?
由于對 LC/NC工具和宣傳它們的營銷傳播缺乏信任,許多開發(fā)人員更喜歡代碼。為了說服任何專業(yè)人士使用LC/NC平臺,平臺制造商要求開發(fā)人員信任他們。為了建立這種信任,工具制造商最好聽取開發(fā)人員和軟件公司提出的擔憂,并在規(guī)劃平臺功能和與目標群體溝通時將其考慮在內(nèi)。
誠實和真實地披露功能限制、發(fā)布克服限制的方法、拉平平臺的學習曲線以及允許將應(yīng)用程序?qū)С鰹榭删庉嫺袷?,雖然它們可能無法說服所有開發(fā)人員,但它們朝著正確的方向邁出了一步。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。