禅道博客

分享专业技术知识,文章内容干货满满

“程序员”这个职业会不存在吗?

2024-03-13 09:43:29
Test Ninja
来源:
微信公众号
转贴 121
摘要:“程序员”这个职业会存在,未来人机结对编程是常态。也就是说,程序员会和基于大模型的编程助手/编程Copilot协同工作,以更高效的方式完成程序/软件的开发。

前两天,几位互联网大佬聊人工智能(AI)上了热搜,一些观点比较犀利,在软件行业掀起了大范围的热议,其中一大热点是:“程序员”这个职业会不会存在?去年就有惊人的观点:谷歌工程主管:程序员的职业生涯将在 3 年内被AIGC终结


我先亮出自己的的观点“程序员”这个职业会存在,未来人机结对编程是常态。也就是说,程序员会和基于大模型的编程助手/编程Copilot协同工作,以更高效的方式完成程序/软件的开发。见我的软件工程3.0宣言(附演讲PPT)的第一句:

其实,我5年前就写过一篇文章:未来两年:人机结对编程(MMPP)将成为现实当时,我过于乐观,但也不算乐观:2020年北京大学推出了aiXCoder 2.0(版本到了2.0,说明产品相对成熟了,其工作始于2013年),可以完成代码补全、代码评审等,开始实现人机结对编程。


今天的大语言模型(LLM)是一个概率模型、一个不确定模型,我甚至说过(见:软件工程3.0实践之路(一)最后一段):因为LLM的不确定性,有幻觉/幻想,倒是不适合做编程助手,更适合帮我们在一些不确定事务(股票投资、风险管理等)上做决策可以获得最大的赢率LLM也更适合参与我们的头脑风暴活动、文化创意、设计等活动,这时幻觉/幻象成了优点、有创造性,例如挖掘用户的需求、应用场景、海报生成、视频创作、音乐创作等。


今天,我们确实越来越多地将LLM应用于代码补全、代码生成、代码理解、代码解释等工作中(见:软件工程3.0实践之路(六):LLM驱动编程,银弹快来了吗?,它也可以生成单元测试脚本、测试用例。但所有生成的结果都不能直接采用,需要人工review。如果你的能力弱,就无法判定结果对与错,review的效果就不理想。如果你只懂英文和中文,而不懂计算机编程语言,那根本无法review。对,像其他同学说的,你还要懂操作系统、懂数据库、懂通信协议、懂架构、懂算法和数据结构......这些都是软件开发的基础。


但是否有可能:生成的代码不需要人工review呢?在某些情况下也是有可能的,我的设想是:

  • 事先分别构建独立的开发LLM(更多是代码正例)、测试LLM(语料更多是反例,如缺陷报告、测试脚本、测试运行日志等)、业务/需求LLM等。
  • 让LLM帮我们实现BDD那样的需求(GWT格式,即需求足够明确),这个过程还是人机交互的,需要业务需求专家确认结果,确保结果是正确的(相对的,不是绝对的)
  • 从基于BDD的需求出发,开发LLM生成产品代码,测试LLM生成测试代码,两者独立工作,相互博弈、相互验证(类似AlphaZero,之前也有微软的论文做了局部验证)。这种情况下,几乎不需要人工参与(但很有可能是少量参与),让LLM相互验证,确保结果运行正确、通过测试。
  • 业务/需求LLM 会参与全过程来验证,包括针对运行的程序进行验证。


“程序员” 职业肯定会存在,但部分能力弱的程序员会受到很大的挑战,而能力越强的程序员越安全。今年年初谷歌首席商务官发布备忘录、宣布再次裁员,而这次被「毕业」的员工,多数都是被AI淘汰的。《24年技术招聘现状》显示,已经有21%的程序员担心失业。而IMF(国际货币基金组织)报告显示,AI会影响全球40%的岗位,但同时它对每个人来说也是一个巨大的机会。例如:
  • 谷歌广告中,开始集成进大量的生成式AI功能。
  • 谷歌的聊天机器人,可以帮人们浏览大量的广告产品。
  • 谷歌的某AI系统,可以根据广告购买者给出的预算和目标,自行制作图像和文本。
  • 过去,提供销售指导、创建艺术资产、决定文本和布局这些工作都是人类做的,但是现在,AI完成起这类任务可以每秒做一千次。


不过,面对AI的冲击,绝大多数(70%)的开发者认为,AI辅助工具能够帮助他们更好地完成工作。尤其是在以下这几个方面:

  • 编程辅助、代码自动补全与生成,例如用ChatGPT、GitHub Copilot、CodeArts Snap等。
  • 习与答疑,不懂的问题找大模型。
  • 文档润色和生成,需求文档润色、个人总结和测试报告生成等。


在这之中,有大约67%的开发者表示,自己已经将AI作为工作的一部分了所以,我们可能会说,你的能力越强越安全,同时,你必须拥抱AI、拥抱LLM,不会用AI/LLM工具的人会被熟练使用AI/LLM工具的同行所淘汰

  • 根据国内招聘网站统计数据(以下相同)显示,机器视觉的薪资差距最大——达到了62.44%。其中,要求AIGC技能的机器视觉招聘平均年薪为48.45万,而无此要求只有29.83万元。
  • 售前技术支持、大客户销售和平面设计这三个职位,是否具有AIGC技能也将带来超过50%的薪资差异。
  • 对于企业来说,在同等条件下,有57.04%会优先考虑那些具备AIGC技能的候选人。
  • 被开聊次数最多的是注明具有AIGC技能的算法工程师,高达15.72次,比未注明的同等职能多6.21次。
  • 从行业分布来看,新发职位主要集中于互联网、计算机软件、人工智能三大行业,占比为29.65%、12.7%、9.96%。好消息是:说明互联网/软件职位在增长,软件定义世界、数字化转型,会带来更多的互联网/件职位。


鉴于此,我们要尽早着手学习使用AIGC工具,从而增强自己的职场竞争力和求职议价权。




原文作者:Test Ninja

原文链接:https://mp.weixin.qq.com/s/0G6EK1AQpmlgA-O7X6286A

暂时没有记录
评论通过审核后显示。