自底向上,还是自顶向下?
在学习过程中,有两种常见的策略: 自底向上的(bottom-up):把基础打牢后,再学习更高层的知识。学校教育大多数是如此。 自顶向下的(top-down):优先学习高层的知识,在此过程中发现需要补充底层知识时,再做补充。 过往我是追求 自底向上 的。学习或工作,我都倾向于把基础打牢。这导致我进入新领域会非常迟缓: 想学习机器学习,但是对其要求的数学没有掌握,因此迟迟没有开展 想学习区块链,但认为对密码学有要求,又想系统学习密码学 但是,无论是数学还是密码学,系统学习它都是费力的。我慢慢发现,现实中我并没有这个条件: 高强度的工作消耗了我大部分精力 回家带娃及做家务占用了时间 剩下的精力如果去做这种耗时长、反馈慢的事情,是很难坚持下去的。 如果用自顶向下的方式,会更容易有一些产出。对于过程中不了解的部分,可以再重点去学习;甚至可以不求甚解,记住结论就行。重要的是,有了产出后会形成正反馈,激励自己投入更多时间。 另外给我启发的是 Jiayuan 的 Twitter: When coding a new project: senior engineer's mind: robust architecture, high quality code, perfect monitoring startup founder's mind: low/no code, fast ship, talk to users, iterate — Jiayuan (@Tisoga) September 24, 2022 这是互联网创业一个公认的方法论:快速发布,快速迭代。而不是一开始做一个大而全的东西。这跟上面讲的自顶向下是非常类似的。Done is better than perfect. 不要管东西做的糙不糙,只要它能实际解决问题就可以。