当 AI 开始在编程领域插足时,大家纷纷担心自己会被取代,程序员也开始捏一把汗。但是,谁才是背后真正的“操控者”?我们也许得先问问,AI 究竟能否理解程序员日常的“生死时速”和无休止的需求沟通。纳瓦尔认为:AI 能写代码,但无法取代程序员的“活力四射”的日常挑战。对于程序员而言,AI 或许只是一个辅助工具,但不会变成他们的新老板。毕竟,在充满产品经理、客户和测试人员的世界里,AI 能做的,远比不上程序员能扛的。
今天看到纳瓦尔发了一条推特,没错,就是《纳瓦尔宝典》的那个纳瓦尔,他说:“AI won’t replace programmers, but rather make it easier for programmers to replace everyone else。” (AI 不会取代程序员,反而会让程序员更容易取代其他人。)
有个人评论道:“AI can write programs per CEO Jensen Huang。” (AI 可以写程序,正如英伟达的 CEO 黄仁勋所说。)
纳瓦尔回复:“Calculators can do math per CEO of Texas Instruments。"(计算器可以做数学题,正如德州仪器的 CEO 所说。)
不管是什么工具,它的存在并不代表专业技能的消失。就像是计算器并没有让数学能力变得不重要一样,AI 编程工具也不会取代对编程的深入理解。不得不承认,AI 正在改变编程的方式和编程效率,但它更像是一个能力放大器、是个强大的助手,而不是一个替代者,它能提高我们的生产力。
编程,科学的说法叫做软件开发,不仅仅是写几行代码完成几个功能而已,软件开发是一项工程——软件工程。真正做软件开发的人都知道真正的编程工作除了写代码,仍然需要:
这些核心能力,我认为依然离不开人类的判断。
说到真正的编程工作,那可真是一出好戏:
首先是"理解问题的本质”——听起来简单对吧?其实,这里面有一个经典的较量:产品经理的"这个需求很简单"VS 程序员的"你确定你知道自己在说什么吗"。经典对话:“就是加个小按钮”——“哦,要加监控吗?要不要做 AB 测试?数据怎么埋点?异常怎么处理?”
接下来是"设计系统架构"——这基本上就是在演《建筑师》:今天的代码得建得像金字塔一样坚固不倒,结果第二天产品经理来了个需求大反转,瞬间变成了推倒重建。“什么?整个流程要反过来走?“让 AI 来写代码,怕是也能做出"屎山"代码。
“确保代码的可靠性和可维护性”——这真的是笑话中的笑话。每个程序员都坚信自己写的代码清晰明了,注释详细……直到三个月后自己再看自己的代码时:“这是哪个天才写的?完全看不懂!哦……是我自己,哦……不对,这是 AI 写的,啥情况?”
最后是"做出明智决策”——比如在产品经理说"下周上线"和技术负责人说"至少要一个月"之间做出一个大家都能接受的决策。通常的结果是:改需求砍一半,时间延一半,大家都不开心,但至少还能一起吃个饭。
这些只是最简略的场景而已,真正的精彩在于,AI 写代码?那不过是整个"软件开发马戏团"的一个小节目。真正的挑战是要在产品经理天马行空的需求、客户难以捉摸的想法、测试时的挑剔眼光、运维时的严防死守中左右周旋。至于这些"精彩"的互动,AI 怕是要进化好几个世纪才能真正体会。
至于各种 AI 工具,说它们能自动完成任务,但遇到复杂问题时,往往就像产品经理讲技术方案一样——说到一半就卡壳,然后陷入"深深的思考"中……
真正的程序员不是代码的搬运工,而是在各种奇葩需求和不可能三角中寻找平衡的"杂技演员”。这种能力,绝对不是简单地"Ctrl+C, Ctrl+V"就能掌握的!
所以别看 AI 现在能写代码了,但它还不能体会到和产品经理激情互怼的快感,也感受不到在代码审查会上被挑战时的心跳加速。这些"核心能力",与其说是技术问题,不如说是一门"修身养性"的功夫。
说真的,如果 AI 真的能处理好这些"人性化"的挑战,那它就不是在取代程序员了,而是在拯救程序员的心脏和血压,顺便拯救那所剩无几的头发!
警惕那些轻松就能说出"AI 可以替代程序员"的人,背后可能是个卖课的。