最近我注意到一个挺有风险的趋势:自从有了AI,很多刚入职场的同学开始习惯“一把梭”式地完成需求。
接到任务,不深究业务背景,也不仔细琢磨实现细节,直接就把问题扔给AI去解决。
必须承认,AI的能力确实强大,生成的代码结构工整,功能跑起来乍一看也没什么毛病。
但是,这类代码往往经不起深入的推敲。 当Leader随口一问:“这里为什么要用这个逻辑?”你可能就答不上来了。如果再仔细做一次Code Review,很可能会发现AI在不经意间改动了某些核心逻辑,埋下了一个大坑,而你自己完全没有察觉到。
在职场协作中,这种行为被称为“黑盒交付”,是极其减分的。
今天就想和大家分享一位同学的真实经历:他刚入职新公司,过度依赖AI来快速完成需求,结果在Code Review环节被组长严厉批评。我们一起来看看导师给出的建议,或许对你有所启发。
鱼友问题
我入职新公司大概半个月,现在感觉有点迷茫。
我的组长平时不怎么管我,但他给我布置的任务是在两周内学完 Go 和 Node.js,掌握 NestJS 框架,并且要独立完成两个全栈项目。
在昨天的周会答辩上,我展示了完成的这两个项目,大部分功能都实现了。但因为时间紧迫,我的代码大部分是交给AI生成的,当然,整体的实现流程我都明白。
组长随后逐行 Review 了我的代码,并对项目质量非常不满意。他死抠各种细节,并要求我必须亲手、完整地重做一个项目来熟悉语法和框架。
我的观点是:基本功可以在实际做业务需求的过程中慢慢熟悉。
他的观点却是:必须先把基础打牢,因此他甚至没有给我开放业务代码的权限,让我自己去练习。
他让我重新做一个后台管理系统,并且暗示可能需要加班。我本来很想怼回去,觉得这像是在PUA我,但为了能顺利转正,还是忍了下来。
我们部门的主要业务会涉及支付类需求,我想问问,组长的这些要求真的合理吗?
导师回答
先说结论:你的组长虽然要求严格,但从技术成长的角度来看,他大概率是一位负责任的好导师。
他布置的任务量(两周内学完新技术栈并完成两个项目)确实强度不低,但这主要是在考察你的学习速度(能否快速上手未知领域),以及对待代码的态度(是认真钻研还是敷衍了事)。
你现在完全依赖AI写代码,虽然交付了功能,但组长完全无法从中评估你的真实学习能力以及对技术框架的掌握程度。那么,他为什么不自己用AI生成代码,而非要招聘你入职呢?
你们部门的业务涉及“支付”,这是直接与资金打交道的高并发、高风险场景。你的代码如果全是AI生成的“黑盒产物”,即使功能能运行,你也未必清楚底层的逻辑设计、异常处理机制以及并发安全性。组长在逐行Review后发现这一情况,他当然不敢轻易让你接手真实的业务代码。
事实上,组长愿意“逐行Review你的代码”,对新人来说已经是非常用心的指导了。在职场中,最冷暴力的组长方式是:你写完代码,他看都不看就让你上线,一旦出了事故,责任全由你来承担。
相反,愿意花时间仔细阅读你的代码(哪怕是AI生成的流水线式代码),指出其中问题,并严格要求你重写的组长,其实是在为你兜底。他是希望你在接触核心业务之前,把技术地基打扎实。
既然为了转正需要忍耐,那我们就要让这份忍耐变得有价值。针对“重做后台管理系统”这个任务,给你三条具体建议:
- 戒断对AI的过度依赖:这次重写,所有核心逻辑必须亲手完成。你可以利用AI来辅助生成设计方案、或者解释某个报错信息,但不能让它代劳编码。
- 结合业务场景进行思考:既然团队是做支付业务的,你在设计这个后台管理系统时,可以主动去思考和模拟支付业务中可能存在的管理场景与潜在问题。
- 主动进行进度同步:组长不常找你,可能只是因为忙。建议你每天下班前,给他发一份简单的日报,格式可以是:“今天完成了XX模块,遇到了XX技术难点,我是通过XX方式解决的(这里重点展示你的思考过程),明天计划做XX。” 让他能看到你的进展和积极的态度。
咬牙把这段时间熬过去,把基本功练扎实,真正摆脱对AI生成代码的依赖。未来某一天,你或许会感谢这位曾经对你如此“苛刻”的组长。
关于程序员如何平衡工具使用与基础修炼,大家也可以在云栈社区的开发者广场交流更多心得。