AI时代,公司到底该怎么招聘程序员?
如果未来大部分业务代码都由AI完成那程序员该怎么招聘我自己理解是未来面试的重点大概率会从代码实现能力逐渐转向系统设计能力AI协作能力。这里说的系统设计不是说画几张架构图那种而是看你拿到一个需求后能不能把整个系统组织起来。比如一个需求过来你能不能拆出合理的模块边界数据从哪里进入、流向哪里接口应该怎么定义哪些代码应该放在一起哪些必须隔离哪些地方以后大概率会变化需要提前留好扩展点。这些事情比写代码更重要。很多人可能会挑战说这些以后AI不也能做吗我觉得未来AI的确会越来越擅长设计但它真正难替代的不是设计而是「决策」。因为软件架构从来都没有标准答案。同样一个优惠券系统有人会拆成三个服务有人会拆成五个这张表要不要冗余这个能力要不要抽成公共服务这个扩展点值不值得提前预留每一种方案都有自己的优缺点。真正决定方案的并不是技术本身而是公司的实际情况。团队有多少人业务增长有多快系统还能运行几年未来是否会拓展海外团队是否有能力维护复杂架构这些都会影响最终的设计。AI可以给你五套方案甚至十套方案。但是最后选择哪一套必须有人拍板。因为一旦方向错了后面付出的代价是非常大的。代码写错了一个方法、一个类改掉就可以了架构错了可能意味着N个服务要调整。更关键的是架构问题往往不是当天就能发现。很多架构设计在项目刚上线时看起来都没问题等半年后业务增长了或者需求越来越复杂问题才开始暴露。而那个时候再回头修改成本已经非常高了。这也是为什么我不认为任何公司会轻易把这种决策完全交给AI。未来真正厉害的程序员是能够判断AI给出的方案是否靠谱知道什么时候应该采用什么时候应该推翻什么时候应该重新设计。未来程序员的面试方式会慢慢发生变化。与其让候选人在白板上手写算法题不如给他一个贴近真实业务的场景比如设计一个优惠券系统、一个订单系统看看他如何拆分模块、如何设计数据模型、如何分析不同方案之间的取舍。除此之外还有一个能力会越来越重要就是AI工具的使用能力。因为未来真正高效的程序员是能够借助AI快速完成设计、生成代码、发现问题再结合自己的判断不断修正方案。未来程序员比拼的是理解业务、做出正确的技术决策以及驾驭AI。决定代码应该怎么写、为什么这样写以及最终是否采用仍然会是程序员核心的价值。