1. Read every day
每天读一点。
不一定非得读大部头,也不一定要和手上的项目直接相关。重点是别让自己的输入只剩 Slack、PR diff 和短视频。那样很快会变窄。
对工程师来说,阅读有点像给脑子做 debug。读论文是在看别人怎么定义问题,读代码是在看约束怎么落到实现里,读传记和历史则是在提醒自己:很多判断都不是在信息充分时做出来的。
2. Spend time with nature
多去外面走走。
这句话听起来像养生建议,但我现在觉得它很工程。人一直坐在屏幕前,会把局部 bug 看成整个世界。走一圈,呼吸和注意力慢下来,问题的比例也会恢复一点。
有些设计卡住,不是再盯十遍代码能解决的。先离开屏幕半小时,回来再看,答案反而更清楚。
3. Ask questions
多问问题。
不要只问“怎么做”。那个问题太容易把人推到实现细节里。先问为什么要做,边界在哪里,失败时会怎样,谁会被影响。
很多技术债表面上是代码问题,往回追,其实是问题一开始就没问准。代码只是把那个模糊的决定固定下来了。
4. Never stop learning
别把学习变成收藏资料。
真正学会一个东西,至少要经历拆开、复现、撞到边界、再重新组织这几步。只看完一篇文章,最多算知道它存在。
如果一个概念只能复述,不能拿来判断方案,那它还不属于你。
5. Don't pay attention to what others think of you
少把别人怎么看你放在决策中心。
这不是让人变钝,也不是假装不需要反馈。只是很多评价来得太晚,或者只看到了结果里很小的一段。你如果太早按这些声音调整方向,就很容易把探索空间压没。
长期项目早期通常都难看:慢、乱、没把握。这个阶段本来就不适合拿来寻求认可。
6. Do what interests you the most
做真正让你反复回头的事。
兴趣不是轻松。很多时候,真正感兴趣的东西反而更折磨人,因为你会愿意在里面耗很久,忍受重复、失败和暂时看不到收益。
一个方向如果能让你持续追问,持续动手,持续在细节里发现新问题,那就值得认真对待。外部激励也有用,但它很难撑过那些无聊的中段。
7. Study hard
认真学基础。
聪明不是跳过基础的理由。基础差的时候,人很容易被表象带着走,看起来在做高级判断,其实只是被术语推着跑。
很多判断都来自底层细节:系统怎么运行,数据怎么流,状态存在哪里,失败之后怎么恢复。认真学就是愿意把这些东西一层层看清楚。
8. Teach others what you know
把你知道的讲给别人。
教学会暴露理解里的洞。你以为自己懂了,直到需要让另一个人也能复现。那一刻才会发现,中间有多少步骤是靠直觉糊过去的。
写文章也一样。目的不是显得懂,是逼自己把概念、顺序和 trade-off 讲完整。
9. Make mistakes and learn
犯错可以,别浪费错误。
错误本身没什么价值。真正有用的是把失败拆出来:当时的假设是什么,哪个信号被忽略了,下次怎样更早发现同类问题。
如果一次失败只留下情绪,没有留下结构,那它大概率还会以另一个形式回来。
10. It's Okay to not know things
不知道没关系。
真正危险的是不知道自己不知道。承认不知道之后,问题才有机会被定义;定义出来之后,就可以查、问、试、拆。
知识不是一次性拥有的东西。大部分时候,它只是你不断靠近问题时留下的路径。
最后
这 10 条放在一起,不是什么成功学。我更愿意把它们看成日常校准。
多输入,保持好奇,动手验证,对自己的不知道诚实一点。
长期能力大概就是这么慢慢堆出来的。没那么漂亮,但比较可靠。