本文来自微信公众号“吴怼怼”,作者|麦可可,监制|吴怼怼。
坦白讲,软件开发是一项智力活动而不是体力活儿。
这种艺术与科学相结合的创意工作,往往能汇聚出高度密集的灵感火花,也曾在一个又一个历史节点推送过人类技术革命的迭代。
如今的码农们高喊着996固然让人心疼,但行业发展中的另一个剖面也应该被看见:程序员的工作并不是简单的Ctrl+C、Ctrl+V这类重复造轮子的工作,他们应当解放双手,投入更具价值的生产工作中。
那么,这个价值版图是如何分布,又怎样呈现?
事实上,作为对代码质量和代码最佳时间要求颇高的软件开发行业,顶层的架构设计往往是决定软件质量的核心,而软件质量作为基础设施的核心部件,也势必会影响企业整体数字化转型的进程。
这就好比造房子,水泥工、瓦工和木工都可以盖房子,但精通于这幢建筑功能和需求的总设计师,必须高瞻远瞩,对方方面面都思虑周全,而一个熟悉整体架构设计和应用的软件开发人才,在行业中其实是稀缺的。
要让软件研发人员真正具备价值、创造价值,就需要在需求分析和原型设计层面下功夫,让后续的开发、测试、运维等工程实现真正的自动化、工具化,通过人机协同,让每一个程序员都有能够成为「总设计师」的时间和可能,进而推动整个行业从手工作坊向智能化迈进。这场因为代码引发的革命也将真正为企业实现整体数字化转型保驾护航。
某种程度上,行业「向上的溯源和突破」绝不是简单说说而已,这理应成为行业参与者和建设者的共识。
因为,如果站在未来的某个节点回顾当下,这场代码革命不仅是互联网的理念和魅力,更在以软件开发提升为路径,真正渗透进各行各业的关键转型期。
01
解放程序员,告别996
和几个常年做软件开发的朋友聊了聊,他们对这场「代码革命」的感受更为直观,最直接的评价就是「人机交互」感很强,基本上软件开发的全链路流程都可以让自动化工具代劳。
当然,这并不是说取代人,而是一种更高程度的人机协作——标准化、自动化的跑通软件工程全流程,使软件开发从开发、测试到运维,1人完成成为可能。
这种效率提升很明显。举例而言,最近笔者观察到一款叫做飞算SoFlu的软件机器人,他能够通过人机协同,自动完成软件后端开发、前端开发、测试、运维,帮助开发者实现“一人一项目”。以一个小型开发项目为样本,传统开发模式下,需6人、耗时66小时才能完成包括需求分析、顶层设计、开发、测试、联调上线等全流程,但在使用SoFlu软件机器人后,通过人机协作的方式,只需3个普通程序员、耗时9小时就能完成。
而从实际操作上看,如果一部分的基础代码编写工作交由软件机器人完成,程序员自然能把更多精力放在前期的需求分析和系统设计上,同时,对一部分非技术主导的企业来说,也适度降低了技术门槛。
在近期举行的飞算SoFlu软件机器人产品发布会上,中国石油的企业内购商城信息化负责人也分享了他们在人员有限的情况下,使用5个SoFlu软件机器人,使原本在传统开发模式下,需要27人耗时300多天才能完成的项目,仅用9人45天就完成了。
整个过程,开发人员省去了代码编写和写代码过程中的规范是否正确等困扰,而更专注从根本上熟知了每个功能的底层逻辑,在平台出现问题和需求提升过程中,可以马上知道问题的原因和可优化的方向。
此外,以SoFlu软件机器人今年上线的前端全自动开发平台来看,该平台客户端可提供可视化的快速开发模式,在拖拽操作同时调用已成型的表单等,一方面运用丰富的页面控件与前端界面快速交互,另一方面达成流程设计和配置节点。
此外,落实在应用中,整个前端自动开发流程无业务场景限制,简化后端接口数据联调,生成前端部署包实现应用项目私有化部署,不基于平台本身运行。
在这个逻辑下,程序员的双手被解放,他们可以跳出基础代码,获得更多时间去思考业务和架构。
内行人爱抠的就是这些门道。根据朋友的说法,在软件开发行业,各类辅助型、半自动化代码平台也是有的。部分平台有前端开发没后端支撑,更别说无代码场景下复杂逻辑的开发了,至于独立部署和软件工程管理能力,也还在进阶的路上。
这种情况下,诞生一个能够兼顾前后端、测试、运维的全栈式平台,就显得尤为可贵了。
另外,当大量的「重复性」工作被SoFlu软件机器人代劳后,不仅是从业者个人,企业得到的效率提升,也是直观而明显的。
02
企业整体的降本增效
企业效率在这里还可以进一步拆解,比如对软件开发部门的leader,比如对CTO。
如今的企业CTO是真的不容易,要管人、管项目还要管技术创新。我们常说,CTO是商业思维和技术思维交汇的那个点,但在很多企业中,CTO总是困于还技术债,他们常常要解决大量的老系统、老代码,被调侃工作内容是一边开飞机一边换引擎。
但实际上,在还技术债之外,内部效率的提升,也就是团队建设和技术升级,也是CTO工作的重中之重,并且,这种提升不是解决表面问题,而是系统性地根治问题。
这就和SoFlu软件机器人的逻辑不谋而合了。与大多数玩家不同的是,在SoFlu软件机器人的图景里,有一个贯穿始终的逻辑:让代码实现从「人治」到「法治」,最终达成企业效率的彻底提升。
倪健曾在《简单之美》中解释过这个逻辑:每个企业、每个项目的软件开发人员风格并不一致,所习惯的代码语言、书写格式也不一定一致,这导致很多企业的技术栈其实乱七八糟,一旦测试时崩了,问题溯源和代码审查时也会遇到诸多问题。
而一个制度化、标准化工具的存在,其实是将一个团队内的操作范式统一化,这样,不论具体职位上的人员如何更替,都可以长期持续地在目标职位上发挥作用。
再则,通过这类软件机器人,代码编写水平差异化的个体工程师,也会被拉平到一个相对高位。工具强平台能力就强,软件质量就过硬,而不是单纯依靠「个人能力为中心」,这对更高层级、非技术出身的管理者来说,也能更好地掌控和理解项目进度。
总的来看,在这类软件机器人加持下,作为CTO管理的人少了,项目的质量和效率提高了,且不用担心代码外泄、技术能力随人走等管理风险,并借由标准工具,实现以一抵十的效率提升。
03
代码革命的未来
回到我们最开始讨论的话题,为什么我们强调在软件开发行业中,个体程序员的「向上突破」,以及为什么包括CTO在内的软件行业群体跳出技术债如此重要?
“因为只有拿出更多的时间思考顶层业务和框架,才能更好地创新,才能成为一个真正的「软件人」”2017年图灵奖得主大卫·帕特森对此有过这样的解释。
飞算云智总裁陈定玮曾经提起过做飞算SoFlu软件机器人的初衷和原则。行业可能有很多辅助开发的优化软件,但做所谓的顶层设计和底层逻辑却要完全依靠顶级的「总设计师」。
具体来说,鉴于场景需求的复杂性、互联网技术选型的多样性,一般的研发人员是没有能力判断哪些技术适用于哪些场景的,也就没有能力去判断整个技术栈发展的方向。而做顶层设计、系统架构的总设计师,一般都是企业具备核心能力、技术领先优势的资深IT从业者或专家。所以大量的机械性工作应当被替代,整个软件行业是可以在开发、测试和运维上适度轻量化,而将更大的精力放在最前期的设计阶段。这就是陈定玮产品理念中与众不同的「重设计」。
如果行业里的人都能拥有这样的工具,都愿意花更多时间来架构设计,那软件行业真正的突破才有可能加速到来。
而落地到真正的实践中,互联网架构也并不仅仅依靠设计。大量的实战,不间断的演练、验证,和中石油、君智等企业的磨合,以及相关实战经验的归纳、总结和梳理,直至最后的系统化呈现——一环扣一环的改造,一程接一程的重构,才能为企业磨出一套行之有效、平稳顺畅的系统工具,才能使得企业CTO能够更加从容的面对团队管理、项目交付问题。
在过去的一年多以来,SoFlu软件机器人共计迭代了五十多个版本,基本上每两个星期更新一次,产品质量和安全性不断提升。从2020年11月后端全自动开发平台上线到2022年4月前端全自动开发平台上线,前前后后新增、优化、修复的问题高达几百个。
在反复迭代下,整个软件生产过程中的管理、开发、测试、运维的自动化及一体化才被达成,真正的软件全栈式开发管理才能够得以实现。
最后,从更实际的层面来看,比起传统行业动辄几千万的开发投入,和每年几百万的后续维护成本,在行业实际发展中,跟随企业业务需求发展变化而迭代的工具,才更值得被肯定。以当前一个SoFlu软件机器人,每年20万的年费来说,和一个初级程序员的年薪差不多,我认为部分专业的软件开发公司、一般性企业的IT团队都值得去试一试。
一方面,传统行业科技升级的分水岭已至,既然行业内已经诞生了跟随企业需求变化而迭代的工具,那么为什么不站在巨人的肩膀上?
当前,数字化、智能化的确已经成为现代科技的重要标签,而企业的数字化转型,也正以加速度的方式,让各行各业悄然发生巨变。
在软件行业,现有作业模式的改变已经初现端倪,正如中国工程院院士倪光南说的,“今天,软件的重要性不言而喻,软件工程的发展也应当跟上时代的步伐,而不能停留在一些陈旧的老观念、老规范、老平台上。我国软件界在软件工程方面出现的一些创新,例如“低代码开发平台”、“软件机器人”等等,是值得支持和鼓励的。”
代码革命的未来,就在于此。