在过去的几十年里,各种运动、范式或技术浪潮——无论你怎么称呼它们——已经搅动了软件世界,承诺要么将大量繁重的编程工作交给最终用户,要么将更多的过程自动化 . CASE 工具、4GL、面向对象编程、面向服务架构、微服务、云服务、平台即服务、无服务器计算、低代码和无代码都在理论上减轻了软件开发的繁重负担。 并且有可能威胁到开发人员的工作保障。
然而,我们到了。 软件开发人员比以往任何时候都忙,对技能的需求只会增加。
另外:74% 的开发人员愿意辞职换一份新工作。 这不仅仅是钱的问题
“我记得当云开始流行并且公司开始迁移到 Office 365 时,每个人都在说 IT 专业人员很快就会失业,”Pluralsight 的作者 Vlad Catrinescu 说。 “你猜怎么着——我们还在这里,而且比以往任何时候都忙。”
问题是开发人员的工作最终将如何演变。 应用于应用程序开发和维护的人工智能有可能最终使低级编码成为过去。
例如,Fixie.ai 的首席执行官兼联合创始人 Matt Welsh 预测,在未来十年左右的时间里,“编程将过时”。 “我相信‘编写程序’的传统观念即将消失,”他在计算机协会最近发表的一篇文章中预测道。 “事实上,除了非常专业的应用程序之外,大多数软件,正如我们所知,将被经过培训而非编程的人工智能系统所取代。”
在需要一个“简单程序——毕竟,并不是所有的东西都需要一个在 GPU 集群上运行数千亿个参数的模型——这些程序本身将由人工智能生成,而不是手工编码 ,”威尔士补充道。
那么,IT 专业人员和开发人员的角色究竟是什么? Catrinescu 认为,新一代的自动化或低代码开发解决方案实际上“使 IT 专业人员和开发人员能够处理更具挑战性的应用程序。IT 部门可以专注于企业应用程序并构建复杂的应用程序和自动化,这将为 企业。”
直到最近,“开发的重点一直是更好地利用工程,或者从更广泛的代码编写者群体中获得更多的重用,”argodesign 的首席创意技术专家兼联合创始人 Jared Ficklin 说道。 “这导致了促进编排的工具,它允许普通应用程序开发人员使用图形界面来编排人工智能解决方案,使用由机器学习专家编写的称为技能的代码模块。同样,这允许业务领域的主题专家编排整个 使用界面的活动。”
这种支持机器学习的工具“有助于收集需求和利用工程,”菲克林继续说道。 “哪里有差距,代码编写者就需要介入并弥补它们。在所有这些情况下,架构仍然由 IT 部门处理,因为有很多互操作性和安全性要维护。”
随着人工智能和机器学习的出现和快速发展,训练模型可能会在非常基础的层面上取代编码,Welsh 预测:
CoPilot 等 AI 编码助手只是触及了我所描述内容的表面。 在我看来,显然未来所有程序最终都将由 AI 编写,而人类充其量只能充当监督角色。 如果我在过去几年从事 AI 工作中学到了什么,那就是很容易低估越来越大的 AI 模型的力量。 我不只是在谈论 Github 的 CoPilot 取代程序员之类的事情。 我说的是用训练模型代替编写程序的整个概念。
完全从编码转变开辟了看待应用程序开发的新方式——转向更概念化和更高级的业务角色。 “激动人心的变化来自令人惊讶的方向,”菲克林说。 “更广泛的世界已经将低代码/无代码想象成一个可视化界面,您可以在其中移动节点以将代码串在一起。这就是编排,并且仍然需要了解代码如何串在一起的知识。”
Fricklin 举例说明了这种开发和更新应用程序的新方法。 “我们目前的一个客户,Builder AI,采用了独特的方法,使用语音对话的 AI 分析来收集需求,然后进一步构建和实现这些体验,”他说。 “他们甚至有一个语音助手,可以添加到 zoom call 中,它会听取某人向项目经理描述他们的移动应用程序,并自动捕获和列出功能。然后人工编辑这些,然后人工智能将它们配对到 “应用程序的一种架构模式。在代码模块存在的地方,它们被修补,在它们不存在的地方,代码编写者进来并添加一个模块。随着时间的推移,这个过程将变得越来越自动化。”
这意味着更多的实时计算,Ficklin 继续说道。 “实时调用软件的延迟、渲染和组装。你可以想象让 Alexa 为你制作一个应用程序来帮助你整理厨房。AI 会识别这些特征,选择正确的模式,并通过无线方式实时进行 将应用程序传送到您的手机或可能传送到您的可穿戴移动计算机中。”