技术能力
- 扎实的基础:数据结构、算法、操作系统、网络、数据库原理
- 系统设计能力:能权衡取舍,设计可扩展、可维护的系统
- 调试与排障:能快速定位问题,善用工具(profiler、日志、监控)
- 阅读代码:能快速理解陌生代码库,而不只是写代码
- 持续学习:技术演进快,能主动跟进新技术而不盲目追新
工程素养
- 写可读代码:代码是写给人看的,命名清晰,逻辑直白
- 测试意识:主动写测试,而不是依赖 QA 兜底
- 版本控制规范:清晰的 commit message,合理的分支策略
- 文档意识:在合适的地方写合适的文档(不是每行都注释)
- 安全意识:代码层面的 OWASP 意识,不把安全留给"以后再说"
协作能力
- 沟通清晰:能向非技术人员解释技术问题,能在 code review 中表达具体意见
- 估时准确:能分解任务,给出相对可靠的工时估算
- 主动暴露问题:遇到 blocker 早说,而不是默默卡住
思维方式
- 系统思维:看到局部问题时,能思考对整体的影响
- 务实:不追求完美设计,在"够好"和"完美"之间找到正确点
- ownership:对自己负责的东西有主人翁意识,上线后持续关注
- 简单优先:倾向于简单方案,而不是过度设计;代码越少越好
软技能
- 抗压与专注:在复杂问题面前不慌,能保持有效的思考
- 接受反馈:对 code review 意见开放,不把技术讨论变成自我防卫
好奇心
好奇心是一个底层驱动力(meta-driver),不是和其他素质并列的加分项,而是在它们之上的一层——其他很多素质都可以被好奇心解释:
- 为什么愿意深挖 bug?→ 对根因有好奇心
- 为什么写好测试?→ 对"这段代码真的对吗"有好奇心
- 为什么沟通顺畅?→ 对同事的想法和 enduser 的真实需求有好奇心
好奇心不只是对新技术的好奇,它覆盖技术、协作、产品三个维度:
| 好奇心的方向 | 驱动的行为 |
|---|---|
| 对新技术 | 主动学习,不等培训 |
| 对异常日志 | 追根溯源,不绕过问题 |
| 对业务逻辑 | 理解 why,不只是 how |
| 对同事的想法 | 真正倾听,不是等自己开口 |
| 对 enduser | 产品感,不只是功能完成度 |
没有好奇心的工程师可以把当前的工作做得"够用",但很难做到深入——他们写的代码能跑,但不理解为什么。
好奇心本身还不够,它需要配上自律和落地能力。有些人什么都好奇,但浅尝辄止,或者永远在学新东西却从不完成一件事——这是好奇心失控的版本。
更完整的表述是:有边界的好奇心——对核心领域深挖,对周边领域保持开放,但不被新鲜感分散焦点。
好奇心 vs 好胜心
很多工程师有强烈的好胜心——想赢、想证明自己——但好奇心不足。他们学新东西是为了"会",不是真的想搞懂。这两种人外表相似,但遇到真正难的问题时会分叉:好胜心驱动的人倾向于绕过难点或表演能力,好奇心驱动的人会停下来真正弄清楚。
如果只能选一条:能把复杂问题分解成可执行的小步骤,并持续交付——这是区分普通工程师和优秀工程师最核心的能力。
AI 时代的变化
AI 时代这些素质的重心发生了偏移,而不是全部推翻。
更重要了的
- 阅读和判断代码:AI 生成代码的速度远超人类,“写"的比重下降,“读、评估、审查"的比重上升
- 问题分解:指挥 AI 的前提是你能把问题拆清楚——分解不清,AI 给你的结果也是乱的
- 基础原理:AI 输出的代码"看起来对"但可能暗藏问题,没有基础你抓不住错误
- 判断力与品味:AI 永远给你一个"合理的答案”,但合理不等于正确,你需要能辨别好坏
- 系统思维:AI 处理局部,人负责全局,整体架构、权衡取舍仍然是人的责任
变得不那么关键的
- 记忆语法、API 细节——AI 比你记得更准
- 写样板代码的速度——AI 秒完成
- 从零实现标准算法——直接生成即可
新增的
- AI 协作能力:知道什么时候用 AI、怎么引导、怎么验证输出
- 怀疑 AI 输出的习惯:不盲从,始终验证正确性、安全性、性能
- 更强的 ownership:AI 会产出大量代码,但责任仍然在人,“AI 写的"不是借口
好奇心在 AI 时代更重要,因为工具变化极快,好奇心驱动你持续理解 AI 的能力边界,而不是停留在一年前的用法上。
AI 把执行层自动化了,工程师的价值向判断层、设计层、责任层转移。基础越扎实、判断力越强的工程师,AI 对他的增益越大;基础薄弱的工程师,AI 反而会放大他的错误。