(资料图片)
?导读
近日,推上用户分享的一则事件引发热议。一名拥有 19 年编码经验、会 100% 手写代码的程序员 Alex 在面试中败给一位仅有 4 年经验却善用 Copilot、GPT-4 的新人 Hamid。前者因不愿拒绝使用辅助代码工具,过于追求代码可控,惨遭面试淘汰,而后者轻松拿到了全职 Offer。从这件事情可以看出,AIGC 时代已悄然拉开帷幕,虽有资深编程经验,但无法使用好相应工具的程序员,在职业生涯中会遇到很大的挑战。作为一个从事5年的后台开发,并在工作生活中已经深度应用 GPT 等工具的程序员,分享一下自己的经验和见解。?目录
1 AIGC 的发展趋势 2 AIGC 对程序员职业发展有何影响 3如何在 AIGC时代不被淘汰甚至更好发展 4AIGC 能在哪方面便利到程序员5如何比别人在使用工具上更进一步 6总结
起初这个老板以为 Hamid 就算熟练使用各种辅助工具,最少也需要花费8-10周,而 Alex 作为资深程序员最多也就比 Hamid 多个一两周即可,但实际结果却令这个老板大跌眼镜。
我们看下 Hamid(资深老程序员)的工作:
总花费如下:
工具成本 | GPT4 | Copilot | Cloudflare | Bubble |
花费(美元) | 211 | 20 | 5 | 124 |
工资:$2460(41小时);托管运行:$139/月。
Alex 完成了大约7%的任务,总费用如下:Vecel(一个网站托管服务)$20;工资:$3500, 全部开发完毕:$45000, 而且还需要增加$11000的测试费用;托管运行成本:$20/月。
01
AIGC 的发展趋势
生成式人工智能 AIGC(ArtificialIntelligenceGenerated Content)人工智能发展到新阶段的重要标志,GAN、CLIP、Transformer、Diffusion、预训练模型、多模态技术、生成算法等技术的累积融合,催生了 AIGC 的爆发。
人工智能不是一个新鲜的话题,早在计算器诞生初期,就有冯诺依曼模型和人脑模型的争论,上世纪80年代,经历过一段人工智能的繁荣,但最终发现是泡沫,没有落地,导致人工智能相关研究陷入很长时间的沉寂。
02
AIGC 对程序员职业发展有何影响?
很多人看到AICG可以通过描述写代码,就觉得程序员要完了,也有人觉得编程只是程序员一小部分工作,而觉得AICG注定对程序员影响有限。这些其实都是片面的观点。
03
如何在AICG时代不被淘汰甚至更好地发展?
我看来,因循守旧才是最大的敌人。套用一个名梗,“拥抱变化“,程序员就是一批不停自我革命的团体,牛逼的程序员做出来厉害的轮子,淘汰掉另一批程序员,甚至有可能会自我革命。
我觉得程序员需要学会如何正确地使用这些 AIGC 工具。虽然这些工具可以生成高质量的代码,但并不是所有情况下都适用。程序员需要根据具体的项目需求,选择合适的工具和方法。此外,程序员还需要具备一定的创新能力,以便在遇到复杂问题时能够找到解决方案。 同时,面对 AIGC 的发展,程序员还需要关注自己的职业发展。随着 AIGC 技术的普及,对于初级程序员的需求可能会逐渐减少。因此,程序员需要提高自己的专业技能,向更高层次的职位发展。这可能包括系统架构师、项目经理、技术顾问等角色。在这些职位上,程序员需要具备更强的沟通能力、团队协作能力和领导能力,以便在复杂的项目中发挥关键作用。 此外,程序员还需要关注 AIGC 技术的伦理和法律问题。随着 AIGC 技术的发展,关于知识产权、版权等问题的讨论也愈发激烈。程序员需要了解这些问题,以便在使用 AIGC 工具时遵守相关法律法规,避免引发纠纷。同时,程序员还需要关注 AIGC 技术可能带来的安全隐患。 |
相信大家看出来了,上面的内容是 GPT 生成的,已经将基本的应对策略罗列了,展现出了 AIGC 的强大能力。
04
AIGC能在哪些方面帮到程序员
随着 AIGC 的发展,已经涌现了一批工具辅助程序员,未来工具不断迭代成熟,未来会有更多提效工具辅助开发,目前看,在以下方面对程序员将有很大帮助。
AIGC 可以辅助生成代码,如 Copilot,根据上下文或者提示补全,自动给出代码建议,大大节省开发时间, Copilot 提供了 Vscode 的扩展插件。支持了 Go,Python,Js 等多种语言。
Copilot 可以理解为一种“结对编程”,可以更容易发现代码种的错误,加快开发过程,很多人代码水平有限,写的代码耦合性高,扩展性差,可使用工具分析重构,避免写出垃圾代码。
可以使用 AIGC 工具,对代码进行复杂度,逻辑 bug 检查,虽然有很多语法检查工具,但更多的是分析语法,逻辑错误难以检查出来,使用工具,可以对如死循环,逻辑漏洞等做编译前检查。
很多人提到单元测试就是真香,但是业务压力大,很多时候不得不压缩单元测试的时间,又因为 roi 不高,很多时候甚至被直接放弃。
脚本工具
程序员难免会进行一些批处理脚本的编写,但如果对脚本语言不熟悉,需要边查边写,不仅效率低下,还容易出错。
有了 AI 工具,我们可以使用描述式的语言快速生成脚本。之前我们可能需要学习 python,awk, sed 等各种工具,每一个工具都很强大,但是要自己用的好需要阅读大量的文档,反复的调试。
用 AI 工具,可以用“写一个处理 txt 文本的 awk 命令,将文本的第三列删除”即可生成可用的代码,甚至还给解释了实现的原理:
不再需要阅读繁杂的文档,简洁高效。
有个梗是程序员都最讨厌自己写文档和别人不写文档,我们可以使用 AI 工具分析项目代码,快速生成文档和代码注释。
资料检索与问题查询
之前我们遇到了技术问题,更多的是借助浏览器检索如 google, github,stack overflow 等网站, AIGC 时代给我们提供了一个新的选择,这里首推Chatgpt,如下是 chatgpt 的页面,它是一个基于 GPT 技术的智能聊天机器人,我们可以直接问用我们看到的现象使用自然语言去问问题,而不是需要加工一下。
05
如何比别人在使用工具上更进一步?
说实话,对于大部分程序员来说,未来应该都会使用 AIGC 工具提升自己的开发效率。如何比大多数人更了解?掌握的更熟练,就在未来的职场更有竞争力。
要做到这一点,除了基础的使用以外,必须对底层原理有所了解,很多人说会用就行,但没有对底层方法理解的会用很容易踩坑。
06
总结
回到最初的事件上,一个资深程序员和一个灵活使用 AIGC 工具的初级程序员,资深程序员反遭淘汰也就不足为奇了。
这其实是一个程序员界很好的案例,不仅局限于这次 AIGC 大潮,任何一次技术革命,如果不能积极的掌握新的能力和工具,都注定要被淘汰。
我们回顾了 AIGC 的发展历程,分析了对程序员行业的影响也具体讲如何做才能在这次大潮下更好的发展。
技术这么多年一直在飞速发展,就像历史的车轮不会停下,永远保持一颗学习的心态,大胆尝试,小心应用,这样每次技术迭代对你就是机会,而不是灾难了。如果这篇文章对你有帮助,欢迎转发分享。
-End- 原创作者|董辰辰