程序员会失业吗?AI时代,还需要学习编程吗?
最近越来越多人在问类似的问题,AI都那么厉害了,还需要学编程吗?计算机专业依然吃香吗?特别是昨天很多人看到了Devin AI,更是产生了一种“是不是程序员要失业了?”的疑问。
# AI 程序员能做什么?
就在前几天,仅仅成立两个月的公司Cognition发布了一款Devin AI 的产品。它被宣传为史上第一款AI程序员。在演示中,Devin AI拥有自己的命令行、代码编辑器和浏览器等工具,可以自己制定计划、执行任务和解决问题,它可以独立完成整个软件的开发和构建的工作。
另外,根据官方宣传,Devin甚至拥有“成长”的能力,它可以通过阅读文章,学习原先不懂的技术,还会自主寻找程序中的错误,并且进行修正。
从宣传来看,Devin要比之前Copilot类似的AI编程助手要更进一步,更像一个能够独立完成开发任务的程序员。这不仅代表着AI独立完成开发工作的可行性,也激发了公众对“AI是否能替代程序员”的讨论。
也有网友分析,其实Devin AI并没有想象中的那么厉害:首先,Devin的底层技术是基于GPT4,它的使用成本比普通程序员更高;其次,程序员的面试题并不难,ChatGPT也能胜任;还有就是执行的任务过于简单,和人类相比还是有较大差距。所以,人类程序员目前还是比较安全的。
虽然如此,但是随着大语言模型的性能越来越好,在可预见的未来,AI程序员必然将软件开发过程中起到关键性的作用。
# 有了AI还需要学编程吗?
会不会现在学了编程,以后就没用了?
我想这个问题可以类比为“有翻译软件了还需要学英语吗?”我相信很多人回答是:学习英语依然重要。
诚然,英语已经成为许多人综合素质的一部分了。翻译软件不能百分百解决我们的需求。例如,要查询最新最全的论文和资料,懂英语可以让我们无损获得原本的信息,而翻译软件只是方便我们快速的浏览和过滤信息的工具。另外,学习英语不仅仅是学习语言,也是学习一种文化和思维方式。这样我们才能更好地与世界接轨。
同样的逻辑也适用于AI和编程。
首先,编程只是软件开发的一部分,编程是打开计算机世界的一把钥匙,计算机科学的复杂性远远超出了编程本身。它包括系统架构设计、网络安全、需求分析、用户体验和项目管理等诸多方面。这些综合性的知识和技能,才是软件创新基础。即使AI能够自动化编程任务,也需要人类来解决更复杂的问题,需要人类保持对行业趋势的敏锐洞察,他们需要理解业务需求,与非技术背景的团队成员进行有效沟通,确保技术解决方案能够满足业务目标。
另外,编程不仅仅是写代码,它是解决问题的一种方式,也是一种思维训练。学习编程能够帮助人们培养逻辑思维、系统思维、创新思维以及动手解决能力。这些能力在AI时代尤为重要,不仅限于技术领域,同样适用于生活的各个方面。随着技术的不断进步,新的工具和平台层出不穷,个人需要能够适应这些变化,还要能在变化中找到创新的机会。这种适应力和创新力对于个人发展、职业生涯乃至企业的竞争力都是宝贵的资产。
除此之外,编程并不是计算机学科的专利,它也是一种跨学科学习工具。在尝试解决来自不同领域的复杂问题时,编程能够通过数据分析、可视化、机器视觉和仿真模拟等技术手段,帮助整合和应用多学科知识,从而促进创新解决方案的产生。这种跨学科的视角不仅拓宽了我们的思维,也为AI程序员的任务分配提供了更加清晰的指导。让我们能够从更综合的视角理解和应用技术,进而更有效地推进项目和研究工作的进展。
其实,AI本身还有很多需要迭代的地方。例如,AI科研论文、设计AI算法、提升AI性能、定制AI模型以及AI伦理安全方面,人类依然扮演着无可替代的角色。换句话说,正是因为AI的发展,为计算机专业人才创造了更多的挑战和机会。对于准备想实现自己的想法人来说,现在是学习编程的最好时机,学习编程可以更好地应用AI的能力,帮助我们实现很多的创意和想法。
因此,面对“有了AI还需要学编程吗?”这个问题,我的回答是:绝对需要。
# 讲讲我的经历
我大学是学工业设计的,算理工科中的文科专业。原本编程这件事情对我来说是一件很有畏惧感的事情,大学仅有一门C语言差点挂科。但由于我对于互联网一直感兴趣,还有自己做产品的冲动,所以我临近毕业的时候,去学习了编程和软件工程相关知识。而之后又做了程序员、产品经理还有创业者,一路走来,有挫折也有收获。
过去,我经常刻意隐瞒自己做开发的经历,生怕别人认为我的职业定位不够专注。但是多年以后发现能帮助到我的恰恰是跨学科能力。
如果今天你是一位想自主创业的产品经理,究竟学过编程和不会编程的人在做产品方面到底有什么区别?
首先,学过技术的产品经理在理解技术层面的细节上有明显优势。能更好地与研发团队沟通,能更精确地传达需求,能更好地理解团队面临的挑战,并在技术可行性和资源分配方面做出更合理的决策。这种深入的理解有助于建立团队成员间的信任和尊重,从而促进团队合作和项目的顺利进行。在这些年里,我和大部分开发同事之间都维持着不错的关系,因为团队合作没有什么比理解更重要了。
其次,具备编程背景的产品经理在设计产品时,能更好地考虑到实现的复杂性和成本,会更重视需求价值,可以更好地制定MVP(最小化可行性产品)策略。特别在产品的早期规划阶段,你就能预见到某些功能的实现可能会遇到的技术障碍,不会把产品功能设计得过于复杂或者理想化,从而在设计上做出更加现实和经济的选择。让产品赢得了低成本地快速验证市场的时间。这种前瞻性不仅能够节省开发时间和成本,还能避免在项目后期进行大幅度的修改,提高了产品开发的效率和成功率。
再者,了解技术原理,也能够让我们更好地把控产品体验。会去主动思考影响产品体验的技术指标,不会想当然地做一些脱离实际场景的理想化的功能。通过能够更好地评估不同设计方案的技术实现难度,能在设计和功能性之间找到最佳平衡点。这样的产品经理能够推动设计和技术团队更紧密地协同工作,共同创造出既美观又高效的产品。
此外,编程经验还赋予了产品经理对新兴技术的敏感度和适应能力。AI时代,新技术层出不穷,具备技术背景的产品经理拥有较强的技术的敏锐度,能够更快地理解这些新技术如何被应用到产品中,以及它们对市场和用户体验可能带来的改变。例如,我经常会去Github上查看一些有趣的开源项目,学习一些新的技术课程,也会思考如何把它们应用到自己的项目和工作中。这种能力使得产品经理能够领导团队走在技术发展的前沿,创造出创新和有竞争力的产品。
最后,通过学习编程,我还获得了一系列强大的思维工具,包括面向对象的编程思想、设计模式、以及统一建模语言(UML)等。这些工具提升了我的逻辑思维和系统思考能力,教会了我如何将复杂问题逐步分解成可管理的小任务,帮助我们对问题进行抽象和建模,让我更好地理解事物的运转模式,从而找到机会点。这在产品规划、市场分析还是项目管理中,都极大地帮助了我。
步入生成式AI时代,大语言模型已经成了我不可或缺的助手。以往有很多灵光一现的创意,因为我的技术视野的限制而无法实现,它们最终只能沉睡在我的思绪中,逐渐被遗忘。但如今,我的一些突发奇想的灵感交给了GPT之后,它能很快地生成代码。虽然代码可能充满了错误,但GPT帮我快速拓展了技术视野,引导我去深入研究,并让我能对代码进行细致优化。例如,我在ComfyUI的Mixlab-Node的开源项目的开发过程中,有很多想法的实现就是通过与GPT协作来完成。
因此,作为一名独立开发者或产品经理,我们应当把AI程序员视作一位协作伙伴。正是因为有了它的帮助,让我们可以在实现更有趣的功能的同时,节省下更多时间,让我们可以用来考虑赚钱的事情。
# 总结
当我们面对Devin这样的AI程序员的时候,我们并不要为程序员岗位感到过于的担忧。编程将会变成像外语一样的普遍性能力,人类通过学习编程,我们可以更好地发挥机器的能力。
在AI的帮助下,越来越多的普通人可以实现自己的创意和想法,成为自己事业的掌舵人。在AI时代,必然是超级个体崛起的时代。
在传统企业管理中,员工们扮演的是流水线上的零件。但是在这个AI变革的新时代,我们不应当把自己角色局限在某个零部件上,拥有灵活的思维、开阔的视野和敏锐的洞察力显得更为重要。
只要我们把握好时代趋势,技多并不会压身。请快行动起来吧!
欢迎加入ComfyUI中文爱好者社区,ComfyUI是一套灵活的AIGC工作流搭建工具。目前我们集结了一群跨界的设计师、程序员 产品经理和创业者。我们正在探寻AI的生成技术在各行各业的解决方案,每日社群里面都会有高质量的讨论。
如果你还不了解ComfyUI,可以查看看往期的文章。
春江水暖鸭先知:洞悉AIGC技术趋势,把握内容产业变革的先机
加入社群,备注:社群