软件开发最终会使自己过时吗

【51CTO.com快译】自著名风险投资家马克·安德烈森(MarcAndreessen)宣称“软件正在吞噬世界”以来,已经过去了近十年。后来的几年已经证明了他的先见之明,众所周知,软件开发人员已经上升到“食物链”的顶端。然而现在,他们也越来越意识到所处的危险。软件技术的发展最终会使自己过时吗?

不容忽视的事实

不断增长的技术能力几乎迫使每个行业的员工——工程、政府、保险、制造和许多其他行业——努力应对他们随时可能被淘汰的命运。

随着技术领域的不断变化,特别是得益于云计算等领域的不断创新和进步,以及 DevOps的蓬勃发展,以往难以招到人的科技公司正变得越来越自动化。

过去需要大量硬件服务器的应用程序——以及大量监控和维护它们的人员——现在可以完全在云中运行。过去,构建、测试和部署新应用程序需要整个程序员和测试人员团队。

现在,像Amazon Web Services这样的云服务提供商已经接受了DevOps方法,并使用基础设施即代码(IaC)来自动化大部分的流程。部署过程只需将配置文件上传到平台。可以对文件本身进行定制,将其部署到特定的环境中,并将其所有依赖项无缝对接。

程序员可能仍会讨论云开发与传统软件开发的优缺点,但这些争论可能很快就会达成一致。

随着云提供商的不断进步,未来的编码方式将与过去大不相同。云提供商继续通过使云更容易访问来争夺市场份额。

对用户来说更方便,不需要专业的程序员就可以执行函数功能。

程序架构师

目前,软件开发人员仍然在应用程序开发中扮演着不可或缺的角色。但云计算的发展让我们重新一窥未来。虽然它仍然集中于编写应用程序,但是对新应用程序的需求正在减少,这将在未来改变编码。

很快,开发人员的角色将不再是从头构建应用程序。

相反,开发人员将主要负责编写各种现有服务之间的接口,编写调用函数以形成自定义的应用程序。

云平台已经不再需要开发人员在程序中构建路由功能。例如,Amazon API Gateway是一种专门的服务,它能够创建一个安全的REST API,通过一个简单的GET请求,让您的应用程序在任何时间、从Web上的任何地方访问几乎任何数量的数据。云提供商处理所有路由和相关逻辑。

随着一些公司继续在机器学习上投入大量资金,它们将能够构建智能路由流程,从而消除更多开发人员的工作。那么这对未来的开发者意味着什么呢?

看看接下来会发生什么

以人工智能为动力的程序已经在斯坦福大学等地进行了开发,世界各地的程序员都在寻找方法,让软件能做他们想做的事——而且只能比人做得更好。

例如,Bayou项目的计算机科学家采用一种名为“神经草图学习”(Neural Sketch Learning)的人工智能,能够阅读大量人类代码并发现每行代码背后的意图。

软件将继续取代硬件流程,技术人员——尤其是程序员——将不得不适应与基于云的智能服务网络进行有效交互。

今天,开发人员仍将自己与编码的实践过程紧密的联系在一起。

然而,在未来5到10年内,他们的身份将更加集中于从软件编写的各种不同服务系统中构建解决方案。开发人员将不再编写代码——他们将把已经编写的代码片段放在一起来构建解决方案和解决问题。

今天的软件开发人员明天将成为解决方案的开发人员。随着机器变得越来越智能,编码和程序将会成为一种商品化的服务。

但是人们解决问题的能力是不可替代的。开发人员的未来取决于他们超越代码思考的能力。相比于知道要写什么服务,知道要问什么问题来找到解决方案要更有价值。

原文标题:Will Development Eventually Make Itself Obsolete?,作者:Sean Beard