低代碼面對的各種聲音
自從我開始使用西門子低代碼以來,我注意到當告訴別人你在使用西門子低代碼進行低代碼開發時,大家的反應會截然不同。一般情況下會有以下三種反應:
1.同行——相互支持和理解;
2.小白——對解決方案更感興趣、僅關心問題是否已解決;
3.傳統代碼開發者(如C語言、Java、Python等)——往往對低代碼開發持質疑態度。
西門子低代碼是軟件開發進化的產物
我一次又一次地觀察到高代碼編程語言和低代碼編程語言之間的劃分,這也是我在使用西門子低代碼之初所觀察到的。基于大家對低代碼的不同聲音,我自己也難免會有偏見,我對西門子低代碼的第一印象是:它是一個用來構建小型應用程序和實體模擬的好工具,僅此而已。
事實證明我大錯特錯。
在使用西門子低代碼多年后,我認為它理應成為我們開發者與計算機之間的下一代互動方式。為了解釋這一點,讓我們回到幾年前。以前,為了給計算機編程,你必須以二進制的形式向計算機下達命令,這項工作無疑非常耗費精力。只有少數專家才能使用二進制代碼給計算機編程,顯然需要一種更加實用的解決方案。下一輪進化以匯編語言為代表。每一種處理器都有自己的指令集并且可以用匯編程序表示。這種語言更方便人類閱讀,所以用它來開發也變得更容易。因此匯編程序是一個抽象層,它將二進制代碼隱藏起來,但任何使用過匯編語言的人都知道,這個過程同樣非常乏味。它沒有現代語言的基本舒適功能,而且每次都要重新開發。此外,由于不同類型的處理器具有不同的匯編指令集,因此如果你想在一種新的處理器上運行一個程序,就必須重新編寫程序。C語言、Java和JavaScript這些高代碼的出現解決了這些不便,其語法更方便人類閱讀、可重復使用的功能、對內存管理友好、可移植性強。這些語言的語法將機器語言命令匯總成易于使用的操作,但開發者也失去對計算機內部進程的直接控制,目的是為了讓更多開發者能夠使用這類語言。
西門子低代碼和低代碼是計算機編程的下一個進化方向。西門子低代碼也是向開發者隱藏高代碼、匯編程序和機器語言復雜性的抽象層。雖然開發者放棄了一部分直接控制權,但因此能夠更快地開發應用程序。此外,這個開發環境讓更多的開發者能夠更加輕松地上手。
你注意到了嗎?沒錯,當年支持高代碼的論點現在正在支持低代碼。每一次進化都會帶來開發速度的提升和開發流程的民主化。西門子低代碼的存在并沒有使高代碼變得過時。高代碼在很多領域都有它的一席之地(比如可以用Java和JavaScript擴展西門子低代碼)。同樣,匯編程序和機器代碼仍然是一些領域的首選工具,但我們必須認識到低代碼是進化的產物。
低代碼讓我們在職業發展上有了更多的選擇
在我成為西門子低代碼開發者之前,我對自己未來的職業道路產生了嚴重的懷疑。我喜歡寫代碼,但我認為自己沒法每天都做這項工作。但我確實喜歡構建各種東西。我喜歡回顧一天的工作并看到結果,這就是構建軟件的意義所在。在我的前雇主向我介紹西門子低代碼平臺之前,我并不知道低代碼。
西門子低代碼開發者不用寫傳統的代碼就可以構建數字應用程序。你可以使用預先構建的部分來構建應用程序。你所設計的邏輯片段被稱為“微流”。在啟動應用程序后,西門子低代碼就會將其翻譯成計算機可以理解的語言。微流看起來像是傳統的工作流程圖:有一個開頭和一個結尾,執行的是中間的邏輯片段。
由于這些片段都是預先構建的并且可以隨時使用,所以邏輯開發速度比傳統編碼方法快十倍,而且學習過程比編碼簡單得多,因此更容易上手。即便你沒有學習過計算機科學,也可以使用低代碼技術。其實大多數西門子低代碼開發者都來自截然不同的學術領域。我曾有幸與生物醫學、心理學、工業工程等不同學術背景的西門子低代碼開發者合作。雖然IT行業仍然是一個以男性為主的行業,但這種刻板印象在低代碼這里并不成立。我團隊中的女性人數甚至一度超過男性。
這種背景多樣性使得低代碼開發者經常需要承擔許多不同的職責。低代碼開發者常被稱為業務工程師,這可不是“空穴來風”,業務工程師是業務管理專家和軟件工程師的“混合體”。也就是說,業務工程師不僅能夠理解并將業務需求轉化為軟件需求,還可以將這些需求轉化為真正的軟件。一般情況下,你在每天的大部分時間里都在開發,但你也可以參與到軟件開發流程中的更多環節。在我以前的公司里,業務工程師還會參與銷售和用戶體驗(UX)設計等其他工作。
即使在Mendix公司內部,員工也可以選擇擴展到不同的領域。通過學習樣式的知識以投身于前端開發,或者成為一名專注于系統集成的后端開發專家,甚至可以通過學習Java開發來深入研究西門子低代碼的核心。大多數西門子低代碼開發者都有自己最感興趣的具體專業領域,但你很可能需要在某個時候承擔所有這些領域的工作。傳統的軟件工程師一般不會有這么“奢侈”的機會。
這一切讓你在職業發展方向上有了更多的選擇。你可以先從一個基本的西門子低代碼開發者開始做起,然后擴展到其他領域。在過去四年中,我就曾為金融、保險、衛生、政府等領域的各種形式和規模的公司工作。
如果你還不是一名西門子低代碼開發者,可以先嘗試一下低代碼。不要只看到局限性,而是要看到它所帶來的可能性,就像軟件開發的進化過程一樣。