程序员的命运会和驾驶员一样吗?
The following article is from 热罐小角 Author hotcan
小时候总觉得开小汽车的司机都厉害得不得了,当时会开汽车那可是一项非常厉害的本领。出租车司机的收入也是几倍甚至几十倍于普通人,真是技术改变命运。可惜今天开车变成了一项基本技能,出租车司机的收入几十年没啥变化,社会地位更是一落千丈,现在世界上最牛的车几乎都不需要司机了。
岁月荏苒,世事变迁,现在的程序员未来会不会也走上同样的道路呢?今天就跟大家聊聊低代码开发平台(Low-Code Development Platform)。
低代码开发平台
东川路男子技术学院码农系曾流传着这样一个传说:某大牛算法老师喜欢用 VIM 写 C++ 代码,完成之后用 gcc 编译,一气呵成,没有 Bug,让那些用 IDE 写程序,各种设断点,调试的码农们惊叹不已。
在那个时代,编码主要在文本编辑器里,靠脑子里的命令写。不能错任何一个字母,一个空格。这对普通人,甚至是脑力一般的程序员来说,都是非常困难的。今天大量的程序员都需要通过编程环境 IDE 来进行编程,需要的功能包括代码智能感知,自动代码完成,自动词法修改,自动查找调用栈,单步断点调试等等。最广泛使用的 IDE 有 Visual Studio 和 Eclipse。有了 IDE 的帮助,码农编码的效率和出错的概率都大大下降,不过这个工作依然很难,需要多年专业的训练,没有学习过的普通人是无法完成的。
几十年来,大家都在努力地寻找普通人也能写代码的方法。还记得世界首富 Bill Gates 发明 Visual Basic 的故事么?通过在界面上拖拉,就可以弄出一个简单的程序,叫做可视化编程。看上去,普通人也能写程序了!
理想很美好,现实很骨感。可视化编程虽然能够解决一定的问题,但是随着互联网,智能手机和商业的快速发展,软件开发依然需要专业的程序员进行。优秀工程师的紧缺导致该职业工资水涨船高,公司业务又在不断变化,低效的编程产出成了业务转型和发展的巨大瓶颈。
2014年 Forrester 的 Bob Marvin 发明了一个新词:低代码开发平台[1],终于把这个概念引入了市场。低代码开发平台提供了通过可视化和模型驱动配置来开发应用程序的平台。它能够让不同经验水平的人员通过拖拽组件和模型驱动的逻辑来创建应用程序,以及驱动商业流程。
什么意思呢?就是说,有了这个低代码开发平台,业务人员可以通过拖拽的方式来实现业务流程开发,不用再去跟 IT 的工程师们讲业务,讲客户需求。反正讲了也不懂,做出来的东西也不是业务要的,还不如自己做。这个观点,我在《云管理服务的新演变》也有提到。
低代码平台的亲身体验
我第一次接触的低代码平台是微软 Office 365 中的 Microsoft Flow,现在改名成了 Power Automate。最早是做了我们内部的基于 SharePoint 和 Flow 实现的业务管理系统。后来我就开始教我们的项目经理实现一些简单的流程自动化的工作,比如填调研问卷之后,自动发邮件通知,把数据存储到云上并做一些分析。再之后就开始虐我们最喜欢玩流程的人力资源小朋友,让他自己来实现所需的自动化流程。
我刚加入现在公司的时候,发现很多同事没有养成发送会议邀请的习惯,所以我基于 Microsoft Forms 和 Power Automate 做了一个开会系统。要跟我开会的同事可以通过扫描二维码打开表格填写,自动生成会议邀请,占我的日历。
对码农而言,这种系统简直就是小儿科的玩具,分分钟就能实现一些通用的功能,但是如果需要实现一些比较复杂的算法,就不合适了。一些简单的功能用代码1分钟就可以实现,而用这种平台可能需要拖拽半小时。
不过对普通人而言,实现一些基本简单的功能还是非常简单的,比如自动发发邮件啊,统计一下数据啊,把一些自动化的东西自动发到社交网站上去,或者把邮件的附件保存在网盘里等等。
这种平台一般对外部的支持都比较全面,模块化功能都做得不错。就算是码农,也可以省去很多时间实现通用的功能,比如安全认证,外部链接,单点登录(SSO),对接第三方产品等等。
在培养非计算机专业的同事使用这种低代码开发平台的时候,还是存在一些挑战的。首先,很多非计算机专业的同事没有经过逻辑训练,不懂“与或非”,在遇到复杂逻辑运算的时候情况不完备,问题很多。其次,他们没有经过编程训练,对条件,循环等分支结构不理解,不懂怎么去使用这些结构进行流程的处理。最后是对计算机的基础知识不熟悉,不理解文件,网络,存储等基本概念,导致无法处理相关数据。
所以我认为低代码开发平台的发展还需要“人”的能力进一步提高。现在很多小朋友都在用 Scratch 或者 Python 学习编程,未来对他们而言,低代码开发平台的使用不是问题。而对当前没有经过编程训练的叔叔阿姨来说,还是显得比较难的。
这么看,程序员走上驾驶员的命运还需要一定的时间,至少这几年还能靠写代码混口饭吃。不过为了工作稳定,程序员多学习一些公司业务,做点业务工作,把低代码开发平台作为一种工具,似乎也是个不错的选择。
低代码开发平台的供应商
根据2019年 Forrester Wave 关于低代码开发平台的报告,这个领域的领导者有 Mendix, OutSystems, Kony, 微软和 Salesforce;ServiceNow 和 GeneXus 紧随其后。到2020年,低代码开发平台的市场规模将达到155亿美金,这个规模远远比云计算领域分支,比如云管平台的3到5亿美金要大得多。
Gartner 也有类似的魔力象限,不过2019年他们叫企业低代码应用平台(Enterprise Low-Code Application Platform),之前叫企业高生产力应用平台即服务(Enterprise High-Productivity Application Platform as a Service, hpaPaaS),内容差不多,供应商也是大同小异。
我最近发现国内也有一家做类似平台的公司叫 ClickPaaS,概念和工具跟微软的 Power Apps,Dynamics 365 和 Common Data Service 很像,当然功能上跟微软比还有一定的差距。不过好处是国内公司可以做更多的定制化和本地部署,这将会是一个非常有趣的发展方向。
最近微软相关业务的负责人 Charles Lamanna 要跟着微软 CEO Satya 一起在中国开技术峰会,介绍低代码开发平台的最新进展。我在 LinkedIn 上发现他是05年圣母大学(Notre Dame)的本科,做了家公司叫 MetricsHub 被微软收购,现在是微软副总裁,总体负责低代码开发平台的业务。外向的码农还是得多朝业务方向发展,未来是更多拼脑力和体力的时代,easy money 不多了,靠投机和资源发达的概率总体上变小。
推荐大家扫描海报下方二维码报名直播,听听他们讲了什么!
注释:【1】"How low-code development seeks to accelerate software delivery”, 12 August 2014, Rob Marvin. Forrester Research
本文转载自热罐小角,作者:hotcan
新基建X数字孪生,撬动万亿市场新引擎
2最新活动赛道风起,谁与你一起弯道超车?