来自国外一位资深开发者的心声
低代码面对的各种声音
自从我开始使用西门子低代码以来,我注意到当告诉别人你在使用西门子低代码进行低代码开发时,大家的反应会截然不同。一般情况下会有以下三种反应:
1.同行——相互支持和理解;
2.小白——对解决方案更感兴趣、仅关心问题是否已解决;
3.传统代码开发者(如C语言、Java、Python等)——往往对低代码开发持质疑态度。
西门子低代码是软件开发进化的产物
我一次又一次地观察到高代码编程语言和低代码编程语言之间的划分,这也是我在使用西门子低代码之初所观察到的。基于大家对低代码的不同声音,我自己也难免会有偏见,我对西门子低代码的第一印象是:它是一个用来构建小型应用程序和实体模拟的好工具,仅此而已。
事实证明我大错特错。
在使用西门子低代码多年后,我认为它理应成为我们开发者与计算机之间的下一代互动方式。为了解释这一点,让我们回到几年前。以前,为了给计算机编程,你必须以二进制的形式向计算机下达命令,这项工作无疑非常耗费精力。只有少数专家才能使用二进制代码给计算机编程,显然需要一种更加实用的解决方案。下一轮进化以汇编语言为代表。每一种处理器都有自己的指令集并且可以用汇编程序表示。这种语言更方便人类阅读,所以用它来开发也变得更容易。因此汇编程序是一个抽象层,它将二进制代码隐藏起来,但任何使用过汇编语言的人都知道,这个过程同样非常乏味。它没有现代语言的基本舒适功能,而且每次都要重新开发。此外,由于不同类型的处理器具有不同的汇编指令集,因此如果你想在一种新的处理器上运行一个程序,就必须重新编写程序。C语言、Java和JavaScript这些高代码的出现解决了这些不便,其语法更方便人类阅读、可重复使用的功能、对内存管理友好、可移植性强。这些语言的语法将机器语言命令汇总成易于使用的操作,但开发者也失去对计算机内部进程的直接控制,目的是为了让更多开发者能够使用这类语言。
西门子低代码和低代码是计算机编程的下一个进化方向。西门子低代码也是向开发者隐藏高代码、汇编程序和机器语言复杂性的抽象层。虽然开发者放弃了一部分直接控制权,但因此能够更快地开发应用程序。此外,这个开发环境让更多的开发者能够更加轻松地上手。
你注意到了吗?没错,当年支持高代码的论点现在正在支持低代码。每一次进化都会带来开发速度的提升和开发流程的民主化。西门子低代码的存在并没有使高代码变得过时。高代码在很多领域都有它的一席之地(比如可以用Java和JavaScript扩展西门子低代码)。同样,汇编程序和机器代码仍然是一些领域的首选工具,但我们必须认识到低代码是进化的产物。
低代码让我们在职业发展上有了更多的选择
在我成为西门子低代码开发者之前,我对自己未来的职业道路产生了严重的怀疑。我喜欢写代码,但我认为自己没法每天都做这项工作。但我确实喜欢构建各种东西。我喜欢回顾一天的工作并看到结果,这就是构建软件的意义所在。在我的前雇主向我介绍西门子低代码平台之前,我并不知道低代码。
西门子低代码开发者不用写传统的代码就可以构建数字应用程序。你可以使用预先构建的部分来构建应用程序。你所设计的逻辑片段被称为“微流”。在启动应用程序后,西门子低代码就会将其翻译成计算机可以理解的语言。微流看起来像是传统的工作流程图:有一个开头和一个结尾,执行的是中间的逻辑片段。
由于这些片段都是预先构建的并且可以随时使用,所以逻辑开发速度比传统编码方法快十倍,而且学习过程比编码简单得多,因此更容易上手。即便你没有学习过计算机科学,也可以使用低代码技术。其实大多数西门子低代码开发者都来自截然不同的学术领域。我曾有幸与生物医学、心理学、工业工程等不同学术背景的西门子低代码开发者合作。虽然IT行业仍然是一个以男性为主的行业,但这种刻板印象在低代码这里并不成立。我团队中的女性人数甚至一度超过男性。
这种背景多样性使得低代码开发者经常需要承担许多不同的职责。低代码开发者常被称为业务工程师,这可不是“空穴来风”,业务工程师是业务管理专家和软件工程师的“混合体”。也就是说,业务工程师不仅能够理解并将业务需求转化为软件需求,还可以将这些需求转化为真正的软件。一般情况下,你在每天的大部分时间里都在开发,但你也可以参与到软件开发流程中的更多环节。在我以前的公司里,业务工程师还会参与销售和用户体验(UX)设计等其他工作。
即使在Mendix公司内部,员工也可以选择扩展到不同的领域。通过学习样式的知识以投身于前端开发,或者成为一名专注于系统集成的后端开发专家,甚至可以通过学习Java开发来深入研究西门子低代码的核心。大多数西门子低代码开发者都有自己最感兴趣的具体专业领域,但你很可能需要在某个时候承担所有这些领域的工作。传统的软件工程师一般不会有这么“奢侈”的机会。
这一切让你在职业发展方向上有了更多的选择。你可以先从一个基本的西门子低代码开发者开始做起,然后扩展到其他领域。在过去四年中,我就曾为金融、保险、卫生、政府等领域的各种形式和规模的公司工作。
如果你还不是一名西门子低代码开发者,可以先尝试一下低代码。不要只看到局限性,而是要看到它所带来的可能性,就像软件开发的进化过程一样。