AI是在帮助开发者还是取代他们?
在软件开发领域,生成式人工智能(AIGC)正在改变开发者的工作方式。无论是代码生成、错误检测还是自动化测试,AI工具正在成为开发者的得力助手。然而,这也引发了对开发者职业前景和技能需求变化的讨论。AI究竟是在帮助开发者还是取代他们?
大龄程序员
程序开发行业当中,普遍存在35岁焦虑。超过35岁,程序员开发效率降低,企业不再招聘,35岁退休,大厂毕业,高龄程序员等各种论调,散布于网络空间的各个角落。因为软件行业,是需要不断学习,不断提升的行业。35岁,上有高堂,下有子女,自己又有房贷车贷等各种压力。学习效率自然无法像刚毕业的年轻人高。而且,任务安排的时候,也需要考虑其家庭生活,不能像刚毕业的单身男女一样,随时加班到天亮。遇到孩子头疼脑热,老人身体不适,还需要请假去医院照顾。因此,35岁自然成了各行各业的天然门槛。最处的一批90后,也马上进入35岁。
35岁的价值
35岁的程序员,身上更有价值。
此类程序员,身上的基础能力更加扎实。拿java来说,35岁程序员普遍从jdk1.4开始学习,阅读java源代码,动手写structs,学习spring源代码中的设计模式,同时兼顾前端、后端甚至服务器端的开发,手动部署应用。保证java程序能够运行在几十M大小的内存之上。进行从页面到数据库,还有虚拟机GC参数的各种调优。知识本领更偏重底层实现。虽然现有的技术学习成本低,使用更加方便,但还是离不开底层的实现。因此35岁程序员,学习知识和技巧的能力,其实并不会差。相反,底层的经验和价值,让他们能够更好的理解现在新工具的封装和运行机制。其丰富的经验,可以看出系统实现的潜在风险,而当系统发生问题时,更容易找到该从哪个方向突破,找到根本的原因。
系统设计和分析上,经验丰富的开发人员,更能给出合理的设计,完善的系统功能划分和实现。
AI让系统开发变成老师傅的专属行业
AI的出现,让这些丰富经验的开发人员,焕发出更多的活力。使用AI工具如copilot等,通过自然语言提示达模型,就可以得到功能的具体实现。
方便的工具,自然带来新的问题。
- 如何进行专业的描述,让AI更准确的获取到系统开发的需求?
- 怎样判定AI给出来的实现方案是最好的?
- 当AI给出来的实现调试不同时,要怎样解决?
AI,像一个个初级开发者一样,获取到需求,提出解决方案。但需要有人指导,有人评价方案,更要有人来解决其中存在的各种个样的技术困难。
使用了一段时间的AI才会发现, 经验丰富的35岁高龄程序员,真正的价值在哪里。向老会计一样,给出专业的建议。像老中医一样,看出病人的病情。以后也一定会说,像老程序员一样,发现系统的问题。