目录
开发人员希望重新享受编码的乐趣。然而,据报道,他们花在编码上的时间不到 30%。
软件开发人员表示,他们越来越多地被拖入耗时且重复的任务中,例如维护、测试和保护现有代码,而不是编写新代码或改进现有代码。这意味着解决新问题和有趣问题所花的时间更少了。
人工智能在软件开发中有什么好处?
👉人工智能工具正在提高开发人员的工作效率,让他们有更多时间进行创造性思考并解决复杂问题。
👉人工智能自动化可以处理入门级任务,因此新专业人员可以更快地完成更有影响力的工作。
👉人工智能工具使应用程序构建更加高效、更加便捷。
如何在发展中平衡人工智能和人类
想象一下,如果数学家必须在没有计算器的情况下手动解方程,那么获得快速互联网或治愈疾病需要多长时间。
同样,生成式人工智能编码助手可以帮助开发人员更快地构建更复杂的创新。关键词是“帮助”,因为人类已经——并且将永远——推动技术的发展。
对于开发人员来说,AI 可以简化几乎所有的工作量,消除编写样板代码(例如类文件和基本操作)等繁琐的工作。它还可以执行必要但繁琐的任务,例如编写单元测试、记录代码的功能以及升级到最新的代码语言版本。
但这并不意味着我们将一切都交给人工智能。
安全和负责任的人工智能等领域永远不会也不应该完全自动化。人工智能已经通过自动扫描难以检测的安全漏洞以及在大量代码中过滤掉有偏见、有害或不良代码来帮助加强这些实践。不过,必须始终有人参与其中来验证人工智能的输出和用例。
开发人员还需要审查和部署那些长期坚持安全和隐私最佳实践的提供商提供的软件和云服务。这些高风险的决定永远都是由人类做出的。
人工智能普及带来的最好结果之一就是高度重视负责任的创新。最接近工作的开发人员对于定义和部署负责任的人工智能战略、制定政策、提前预测和应对新型威胁以及重新评估和改进开发技术以确保安全和隐私处于创新的最前沿是必不可少的。
人工智能为软件开发人员提供了发明的时间
人工智能工具正在提高开发人员的工作效率,使得实验、发明、改进和创新变得更容易、更快捷。
例如,有迹象表明,由生成式人工智能驱动的工作助手 Amazon Q(由Amazon Bedrock提供支持)可帮助员工将工作效率提高 80%。而且,由于 Amazon Q Developer 拥有业内最高的代码接受率,开发人员成功完成任务的可能性提高了 27%。
亚马逊首席执行官最近在 2024 年第二季度财报中分享称,亚马逊开发人员利用其代理的代码转换能力升级了超过 30,000 个Java应用程序,节省了 4,500 年的开发工作,并且每年从性能改进中节省 2.6 亿美元。
开发人员有更多时间进行创造性和战略性思考,这是人类大脑特别擅长的,并且开发人员可以把他们的想法付诸行动。这意味着从创意到产品创造再到上市的时间更短,这种速度对于个人、初创公司、小型企业和资源有限的组织来说尤其有价值。
人工智能意味着无聊的实习生会减少
随着人工智能自动化,通常分配给实习生和入门级员工的重复性、低风险工作,新人才有机会在职业生涯中尽早开始从事更有意义、更有创造性的工作。
开发人员仍然需要知道如何手动编码,学生在首次学习软件开发时也需要掌握这项技能。但是一旦有了基础理解,手动编码就成为理解架构、系统和应用程序如何运作的背景。
人工智能开发助手将鼓励更深入的学习,因为初级人才可以向助手提出大量问题并立即获得答案和示例。例如,公司可以私下将其内部数据和代码库连接到 Amazon Q Developer,以便用户可以收到与公司相关的代码响应并就该代码进行对话。
通过更快地获得相关答复,快速的问题不会阻碍工作,员工可以自信地向他们的经理提出更多的想法和建议,并就他们的项目进行更深入的讨论。
一个人能否找到第一份开发工作,不再取决于他能否一字不差地记住一行代码,而是取决于他能想出什么有创意的解决方案,以及如何利用技术知识将这些想法变成现实。
通过加速开发人员的工作,人工智能也可以加速他们的职业发展。
人工智能让应用程序构建更加便捷
人工智能对工具的影响扩大了谁可以构建应用程序以及如何构建应用程序。当嵌入到工具中时,人工智能可以提升高代码工具的功能,使开发人员能够以更高的复杂性、速度、安全性和与业务目标的一致性进行创作。
人工智能还降低了软件开发工具的学习难度,尤其是无代码和低代码工具,如 Amazon Q Apps 和 AWS App Studio,以及使用新的编码语言。甚至自然语言提示也是一种新的开发方式。
人工智能下一步将为开发人员解锁什么?
人工智能的下一个重要时刻将是定制化和更先进的代理。定制一个由人工智能驱动的开发者助手是优秀开发人员和了解业务具体代码编写方式的资深开发人员之间的区别。
随着代理变得越来越先进,人工智能将成为团队的一员,开发人员可以向其分配任务并与其异步工作,无论是设计产品架构、编写功能代码、审查拉取请求还是监控正在运行的应用程序以进行实时增强。
当开发人员的工作效率更高时,他们就有更多的时间专注于工作质量,并且能够更快地创建更好的解决方案,从而引发创新的正反馈循环。
人工智能不会改变开发人员想要完成的目标,而是会改变他们完成目标的方式。