There’s definitely a tradeoff between breadth and depth/speed. On a real-world project, you can attain great speed and/or great depth on the narrow set of techniques/concepts that are directly relevant to the work you do every day.
It’s very expensive to maintain that kind of fluency. I’ve never done any programming in a language that uses infix vs. prefix operators, yet I know the difference just from a couple minutes total studying the concept at a few different widely-spaced points in time. This concept would not pose a challenge to me were I to pick up a functional programming language, although it would take time to build a habit of using them.
When you overinvest in study-through-practice in a concept you’ve already mastered, you will forget a lot of the more broad knowledge. Anki gives you a way to retain it, or to get it back when you’re ready for it. If you see yourself as having no need for a broad knowledge-base—if you see your career as being a happy code monkey banging out programs that are within the wheelhouse you’ve already established, then you’re probably good.
But if you have a different vision for your career, it’s possible that broad knowledge will be really helpful. And spaced repetition/Anki gives you a set of tools to build and maintain that broad knowledge-base.
I’m really glad you posted this objection to Anki, because I think it’s probably common. It’s also a fair point: sometimes, we don’t care about building a broad knowledge base. We’re just trying to become fluent in the narrow set of skills that let us execute a technical project. Clarifying that distinction is very valuable from the perspective of budgeting your study time wisely.
There’s definitely a tradeoff between breadth and depth/speed. On a real-world project, you can attain great speed and/or great depth on the narrow set of techniques/concepts that are directly relevant to the work you do every day.
It’s very expensive to maintain that kind of fluency. I’ve never done any programming in a language that uses infix vs. prefix operators, yet I know the difference just from a couple minutes total studying the concept at a few different widely-spaced points in time. This concept would not pose a challenge to me were I to pick up a functional programming language, although it would take time to build a habit of using them.
When you overinvest in study-through-practice in a concept you’ve already mastered, you will forget a lot of the more broad knowledge. Anki gives you a way to retain it, or to get it back when you’re ready for it. If you see yourself as having no need for a broad knowledge-base—if you see your career as being a happy code monkey banging out programs that are within the wheelhouse you’ve already established, then you’re probably good.
But if you have a different vision for your career, it’s possible that broad knowledge will be really helpful. And spaced repetition/Anki gives you a set of tools to build and maintain that broad knowledge-base.
I’m really glad you posted this objection to Anki, because I think it’s probably common. It’s also a fair point: sometimes, we don’t care about building a broad knowledge base. We’re just trying to become fluent in the narrow set of skills that let us execute a technical project. Clarifying that distinction is very valuable from the perspective of budgeting your study time wisely.