死磕,肯定还得死磕技术,只不过和之前相比死磕的方向变化了。AI的出现引发了软件行业的重塑,很多开发方式都在改变,现在需要死磕的是如何更好的使用AI技术。
《GitHub Octoverse 2024》总结出2024年的几个趋势
- 全球人工智能活动激增2024年,GitHub上生成式AI项目的贡献数量激增了59%,项目总数增加了98%。
- 世界范围内开发人员的数量迅速增长,GitHub教育计划已经有超过700万名经过验证的参与者。采用GitHub Copilot作为我们免费访问计划的一部分的学生、教师和开源维护者的人数同比增长100%。
其实不少互联网大佬都有推测,以后程序员将不会存在,或者说会被替代掉。后面也有另一波大佬们说程序员不会被替代。互联网一向如此,有一波人说对就会有另一波人出来说不对。但AI的确已经进入了我们的生活和工作。它不像之前区块链技术和元宇宙技术,所以说AI得看长远不能看眼下。长远来看AI必然会替代很多人类的工作或许正如阮一峰大佬说的AI的终极形态是"终极智能"那时或许AI就可以替换掉程序员,但短期应该是不现实的。更多的是我们如何利用AI方便我们的工作和生活。
在AI出现最初人们这种被AI替代的想法是非常强烈的,但当AI越来越多的被我们使用,大家反而没那么担心了。
是的在5~10年内程序员肯定还是会在的,至于更长的时间就不好说了,说不定还会有什么别的技术又出来了。
人类社会每一次的进步都是科技的推动着,毕竟科技是第一生产力。AI技术引发的第四次工业革命,当然每一次工业革命带来大量的生产力的剩余,这时会就引发裁员潮、失业潮。
18世纪末到19世纪初,蒸汽机的广泛应用推动了第一次工业革命:
- 手工业被机械化生产逐渐替代;
- 工厂制度兴起,集中生产成为主流;
原本一个熟练工匠可能需要几天完成一块布,但现在一台纺织机一小时就能完成。蒸汽机技术带来的机械化生产就会引发大量手工劳动者失业,后来引发了轰轰烈烈的破坏机器运动。能掌握机器使用的人成为了社会核心劳动者,所以不论社会如何变化,能掌握科技使用的人始终不会太差。
CRUD、低复杂度逐渐被自动化
ctrl+c ctrl+v CRUD这些都是程序员的标签,如果还是这些标签那这些程序员必然会走向被裁员。其实不只AI的出现才存在这个问题,在AI出现之前就已经有很多大佬开发出很多CRUD的脚手架,也有很多公司开发了低代码平台。都可以实现从数据库操作到业务操作的CRUD。
看看大佬们说的:
李开复:“AI能够替代那些重复性、规律性强的编程任务”
黄仁勋:“编程价值下降,人类应转向其他领域(生物学、教育、农业等更具长期价值的行业)”
李彦宏:“未来不会有程序员这个职业,只要会说话人人都能编程”
马斯克:“AI最终可能取代所有工作,包括程序员”
而最近微软高层说他们要裁掉9000多名员工,主要是AI为他们省下一大笔钱,他们内部已经有30%的软件代码是由程序生成,甚至某些项目甚至 100% AI 驱动,这一数字仍在稳步攀升。无疑AI的出现,加速了程序员被迭代这一现象。
比如以后我们要生成这个一个游戏,要纯自己写是非常困难的,当然我们可以在github上找到现存的,然后修改后再使用。但还是很多找不到,有的找到了也运行不了。有了AI后就可以轻松生成这种代码,并且如果代码运行不了可以继续与AI交互,这是以后没有了。
这么一个游戏程序几百行代码,几分钟就可以生成了。
再比如现在需要开发一个电商网站
能快速的生成,最关键的是它不但能生成,还能在这个基础上进一步的完善和修改。
公司对高效率要求,推动裁员
有了AI后,程序员不论是生成代码,规范代码(注释、格式)、review代码、测试代码、构建代码等多个环节都可以使用AI来辅助程序员。
那么之前2个人干的活,现在可能就只要1个人就能完成。之前招聘前端开发、后台开发、运维工程师3个岗位3个人,现在有可能就需要招聘一个岗位就可以,也就是我们说的全栈工程师。之前全栈工程师不多也不精,有了AI的推动全栈工程师会越来越多。
AI也无法替代系统级、架构级、产品级的判断能力
目前AI的能力主要是:
代码补全:根据当前代码上下文自动补全代码。
● 生成代码:根据注释描述生成相应的代码。
● 方法和函数生成:根据方法名或函数名自动生成该方法或函数的代码。
● 生成测试代码:生成测试代码。
● 自动优化代码、异常解决、代码生成
虽然AI在代码生成、代码文档、测试代码等这些您任务中表现出色,甚至能超越初级程序员的能力,但它依然无法真正替代程序员这个岗位。像系统级的任务往往是涉及到多个模块的协同、性能瓶颈识别、故障容错等能力。
而系统架构也不是一步到位的,就像阿里大佬说的“好的架构不是设计出来的,而是演变而来的”。
另外就是产品级的决策,更是涉及认知与洞察的高级活动。一个产品功能该怎么做,是需要理解用户心理、业务目标、竞争格局、法规政策甚至公司战略的。
总结
对我们来说应该是助力和驾驭而不应该成为放弃或者被替代,所有我们的方向应该是深入学习如何更好的利用AI工具,把简单的CRUD交给AI去实现,把节省下来的时间花在更复杂业务、更复杂的架构上,程序最终还是给人使用的,需求理解到用户的痛点上,还得是一个有经验的程序员来完成。