判断一个开发者的能力很难只看工作年限、技术栈或者面试表现。我目前更关注两个方面:他是否有足够的好奇心,以及能否真正理解并熟练使用手中的工具。
今年在几个项目中陆续担任 mentor,带了几位新人。几个人的表现差异很大,最后的结果也有好有坏。
这件事让我开始思考一个问题:有没有什么方法,能比较准确地判断一个人的能力?
能力当然很难靠一两个指标衡量,面试表现、工作年限、技术栈也都不完全可靠。不过就软件开发而言,我目前认为有两个很重要、也比较容易观察的方面:好奇心,以及对工具的使用。
以下算是我现阶段的思考。
好奇心#
我越来越觉得,一个开发者如果缺少好奇心,技术很难持续进步,甚至很容易过时。
软件行业变化太快。语言、框架、开发范式和工具一直在变。一个人当然不需要追逐所有新东西,但至少要对变化有所感知,并且愿意花时间弄明白:它是什么,能解决什么问题,跟自己现在使用的方法相比有什么不同。
到了 AI 时代,这一点更加明显。
如果没有好奇心,一个人可能只知道豆包、元宝这些国内的产品,却不知道 Claude Code、Codex、Grok;即使听说过,也不会真的花时间去注册、配置和使用。
尤其在国内的网络环境下,使用某些海外工具往往要跨过不少障碍,每一层都能劝退一批人。
但对真正好奇的人来说,这些通常不是大的问题。
这里并不是说,用过多少 AI 工具就代表能力有多强。重点是,一个人遇到陌生事物时,是下意识避开,还是愿意继续追问和尝试。前者的边界会越来越固定,后者则会不断扩大自己的技术圈和认知边界。
好奇心也会带来主动性。它会让人去了解没人要求他了解的事情,去问别人没想到的问题,也会让他注意到一些大家习惯性忽略的细节。
所以我认为,好奇心不是一个可有可无的性格特点,而是判断开发者成长潜力的重要指标。
对工具的使用#
第二个方面,是一个人使用工具的能力。
这和好奇心有关系。好奇心能让人发现更多工具,但知道工具的名字还不够,真正重要的是能不能把高频使用的工具用熟。
工具的作用是降低工作成本。如果每次使用都要重新查命令、猜操作,甚至因为不了解基本原理而制造新的问题,那么工具反而成了额外负担。
真正熟练以后,很多操作应该接近本能,不再反复占用注意力和心力,人才可以把精力放在实际问题上。
Git 是一个很典型的例子。
我发现不少新人使用 Git 时,几乎完全依赖 IDE 自带的图形界面。依赖图形界面本身没有问题,问题是他们连很多基本概念也不清楚。
在这种情况下,图形界面不会让 Git 变得更容易,它只是把命令藏了起来。
遇到稍微复杂一点的分支、冲突或者回退问题,他们就不知道工具究竟做了什么,也不知道应该怎样恢复。用得越久,对 Git 的理解反而可能越模糊。
现在的 AI 工具更能体现这个问题。
像 Cursor 这样的 AI Coding / Agent IDE,表面上门槛很低,打开对话框描述需求就能开始写代码。但会“让它生成代码”,和真正会使用它,完全是两回事。
怎么提供上下文,怎么拆分任务,怎么限制修改范围,怎么检查生成结果,什么时候应该撤销重来,这些都会直接影响最后的产出。
我确实遇到过连 Cursor 都用不明白的人。这个人后来被辞退了。不会用 Cursor 当然不是直接原因,但它暴露出来的问题——缺少主动探索,不理解工具,也无法借助工具把事情做好——和最终结果并非完全无关。
一个开发者不一定要熟悉所有工具,但对于每天都在使用的工具,至少应该理解它的基本原理,并且用得足够熟练,这样会减少很多心智负担。
最后#
好奇心和工具熟练度并不等于一个人的全部能力。经验、判断力、责任心和沟通能力同样重要。
但这两点很有观察价值。
好奇心决定一个人会不会主动扩大自己的边界,对工具的使用则能看出他能不能把学到的东西真正变成效率和结果。
如果一个人在这两方面都表现较弱,那么他的技术能力通常也不会太强,至少很难长期保持强。
这是我带过几位新人之后形成的阶段性判断。以后样本更多,结论也许还会变化。