AI时代的软件开发者,如何“保鲜”

 行业动态     |      2019-08-01 09:35

人工智能 (AI) 时代的大幕已然开启,身边许多传统软件开发人员们在担心他们无法与时代保持同步,保证自己的竞争力和新鲜度,虽然各自勉强没有错过移动互联网的红利时代,但AI时代,媛媛和猿猿们则更应趁早打算了!别说没有提醒你们。

各位大神们将他们对职业前途的担忧视为卢迪特谬论(the Luddite)的又一例证,即新技术不会破坏就业,因为它只会改变经济中工作的组合。但目测众多指标, 在描绘软件开发人员未来的时候,大多使用更灰暗的颜色来表示态度:前途堪忧!

 

日益加剧的忧虑

 

     先看太平洋那一边。美国能源部橡树岭国家实验室的一组研究认为,人工智能最早在2040年将取代软件开发人员的可能性很高。
      软件开发的趋势表明,软件开发将在未来发生根本性变化: 机器学习、人工智能、自然语言处理和代码生成技术的结合将得到突破性进展,到2040年,机器将编写大部分自己的代码,而不是人类。
     软件开发人员感到担忧是可以理解的。事实上,在埃文斯数据公司(Evans Data Corporation,一家专门从事软件开发的市场研究公司) 调查的5500名软件开发人员中,有近30%的人认为,他们的开发工作将被人工智能所取代。所以,软件开发者的未来已经 可以预见了。
      根据Evans Data首席执行官Janel Garvin的说法, 开发者因对AI的担忧,比没有养老金、在工作中被资历更浅的年轻人管理、或技能和工具过时,要更具有威胁性。

 

AI 将改变软件开发行业

 

   虽然有一些宿命论的软件开发者会屈服于他们的“命运”,但大多数人是仍然想知道AI将如何改变软件开发行业,这样他们就能够尽快开始获得相关的新技能,开始新生活了!

    OpenAI的前研究科学家、现在担任特斯拉AI主任的安德烈·卡帕西(Andrej Karpathy)认为:"未来很大一部分程序员不会维护复杂的软件存储库,编写复杂的程序,也不分析他们的运行时间。他们收集、清理、操作、标记、分析和可视化,为神经网络“饲喂”的数据。

     Karpathy 提出了一个新的 AI 时代软件开发流程,称为软件开发2.0,其主要组件包括问题和目标定义、数据收集、数据准备、模型学习、模型部署和集成以及模型管理。未来的软件开发人员将获取和组合大型数据集,以训练应用程序智能化,而不是硬编码所需的功能。

 

  微软和剑桥大学的学者已经构建了DeepCoder等解决方案,我们就可以窥探一些软件开发的未来。DeepCoder 可以通过预测应用程序,从输入生成一些所需输出的属性来创建新应用程序。

    虽然微软的解决方案是高度实验性的,但Ubisoft与Concordia University研究人员合作开发的Ubisoft的开发者AI助理已经用于彩虹六(Rainbow Six)和刺客信条(Assassin’s Creed)游戏,这是Ubisoft两大专营权。AI助手会在程序员编写代码缺陷时自动识别编码缺陷,为开发人员节省了大约 20% 的时间。

"它涉及所有软件开发人员。我相信,未来我们将部署越来越多的AI技术,以减轻软件行业的维护负担",康科迪亚大学研究员瓦哈卜·哈穆-拉迪说。

 

如何弥补技能差距

 

   为了弥合软件开发行业中存在的技能差距,传统的软件开发者自己必须认识到,技能集必须要改变了。

根据部分求职网站的报告,市场上三个最需要的AI工作是数据科学家、软件工程师和机器学习工程师。过去三年中,对这些角色和其他与AI相关的角色的需求增加了 1.5 倍多,预计还将以类似的速度增长。

软件开发人员在 AI 项目中需要精通的技能包括数学、代数、微积分、统计、大数据、数据挖掘、数据科学、机器学习、认知计算、文本分析、自然语言处理、R、Hadoop、Spark 和许多其他

 

    显然,对于大多数软件开发人员来说,几乎不可能掌握每一项与 AI 相关的技能,尤其是考虑到 AI 领域前进的速度之快,几乎可以用“嗖嗖嗖”形容。这就是为什么想要在 AI 时代“保鲜”的软件开发人员应该把自己视为专家通才,并将学习新技能视为一个持续的过程。而不是静止不动啊,兄弟们!

   拥有广泛的知识,尤其是行业相关的知识,可以更容易地根据当前的市场需求在一个特定领域获得深厚的专业知识。南京航空航天大学人工智能研究院院长表示:"未来取得成功的人,将是最了解其领域基本复杂性的开发人员-哪些数据重要,以及不确定性对决策的影响等”。

     软件开发人员不必知道最新机器学习算法的复杂细节,也不必拥有处理AI项目的最流行编程语言的出色命令。但是当你无所适从AI环境并且如何学习新的AI相关技能,那么生存的环境对你而言,也同样不可选的。毕竟有选择权的人,才是真正自由驰骋的开发者。

 

结论

 

人工智能将从根本上重塑软件开发, 迫使软件开发者获得新的技能, 以保持自身的新鲜度,适应行业发展和个人职业发展。那些最成功地适应即将到来的AI时代的人,将享受大量的工作机会, 但这个过程需要不同于许多软件开发者现在的心态。