开发者三角是什么?
简单说,把初学者该练的东西拆成三条边:算法、AI 使用、真把东西做出来。
三周前 dev.to 上有一篇写给初学者的文章,作者 James Anderson,用这个三角去拆三种互相打架的建议。刷题、转向 AI、只做项目,他说这三条都只对一半。
这个起手我认。但让我把这篇收进小抄的不是三角,是后面那句:第三边最难被课程和考试包装,所以最常被教育体系漏掉。
一句话讲清楚了一件事。不是没人知道项目重要,是项目不好卖。
这三条建议同时砸过来的时候,初学者最先坏掉的不是能力,是排序。到底先干什么,谁也没说。
刷题那条边
文章里有句话该印在墙上:第 400 道题的学习收益,明显低于前 50 道。
后面那半段更该被讲:算法题面试流行,是因为公司需要一种低成本、标准化的筛人方式,不是因为题目等于日常工作。这两件事被混着讲太久了。混到最后,初学者以为刷题是在练工程能力。
拆解问题、判断方案代价、认出题型,这些确实练。练的是面试那套熟练度,不是交付能力。
我不同意作者的地方在“适量”两个字。他说用适量的 DSA 过筛,把大部分时间留给项目。这话听着稳,其实很滑。“适量”对每个人都不同,而初学者最擅长的就是把“适量”翻译成“再刷五十题就安心了”。
我的版本难听一点:核心模式就那么多,数组、字符串、哈希表、双指针、树、图、递归。练到能认出题型、能把方案代价说清楚,够过门口那道筛就行。剩下的时间全部扔进项目。
刷题不是没用,是它只在门口有用。进了门它就不管你了。
AI 那条边,值得抄的只有一条规矩
文章说 AI 使用已经是开发工作的一部分。这句现在没什么争议。
它给了几条用法:让 AI 解释概念,让它先起草再人工核查,还有一条硬规矩,不提交自己解释不了的代码。
前两条是技巧,第三条是底线。
它还提到一件很多人不爱听的事:把写代码整个交给 AI,人会不理解自己交出去的东西。而 AI 出错的方式是频繁且自信。
这句我不用验证也信。跑起来了就当下懂了,是最常见的自我欺骗,成本还要过一阵才结账。
这里得算笔账。AI 提升速度是真的,但省下来的时间得留一部分给核查。不然那部分时间是借的,早晚要还,还的时候带利息。
补充一句:前两条其实不需要“学”。市面上有人在做 AI 编程入门课,大部分时候那是在给一件本该长在项目里的事单独开一门课。
这条我不太确定值不值得收,但类似的课实在太多了,先放着。
第三条边,唯一没法上课的
端到端交付、读别人的代码、半夜调试、把思路讲到别人听懂、协作、判断下一步该做什么。
这些没法开课。不是因为难,是因为开课这个动作本身就把“判断该做什么”替你做完了。作业有题面,项目没有。
一个人做项目,第一步就得自己定题,定完了还会定错,然后改。这一整套在课程里全被切掉了。
作者对时间分配的建议是全文最实操的一句:大部分时间做真实项目,在项目里用 AI,而不是把 AI 单拎出来学。
这句他说得轻,我认为它是整篇的重心。真项目是唯一能同时压到三条边的东西。你会被数据结构卡住,会用到 AI,会不得不把话说清楚。
一个更狠的提问
文章结尾问读者:你在哪一边投入过多,又在回避哪一边。
这个问题比三角本身有用。它逼你自己算一下投入的时间。你不算,没人替你算。
我猜多数人的答案是同一个:回避第三边。前两边都能看见进度,刷到第几题、用熟了哪个工具,都有个数字。项目没有进度条,只有一堆没做完的东西。
顺便记一条,评论区有人留言说,面向初学者的那部分特别有用。这条我没太看懂为什么被单独拎出来,先放在这里。
本周就这些。
上面有任何一条你试过、或者觉得我讲错了,欢迎告诉我。讲错的我补,没讲清的我改。
下周见。
