In my last blog post, I talked about what kinds of things people should do to make sure they're learning development as efficiently as possible. Almost immediately after publishing that post, I realized that I had neglected an important topic when it comes to learning: how to avoid overlearning.
Overlearning was definitely an anti-pattern that slowed me down in the earlier days of my learning software development. To be specific, I'm talking about overlearning in the forms of both:
- Spending too much time trying to learn or memorize peripheral details about a certain technology or subject.
- Having too wide a scope of subjects that you keep bouncing between, and not getting a strong grasp or deep knowledge of key related topics in any of those subjects.
A large focus of my writing about development is directed towards reducing decision fatigue and learning faster by staying focused, so I'm going to take a few minutes to talk about strategies to keep overlearning from rearing its ugly head in your development journey!
- Is the knowledge a high-level concept that's integral to how a particular technology works (such as the CSS box model or the event loop in Node.js) or specific information you need to know to pass a test (such as S3 storage tiers and their costs for those taking AWS certification tests)? If so, you should put in an active effort to memorize that thing.
- Is the information a side-detail (such as what attributes you can add to an
The Pareto Principle states that "for many outcomes, roughly 80% of consequences come from 20% of the causes". What this looks like in the real world would be when 80% of a company's effectiveness is a result of 20% of the staff, or that 80% of a web framework comes from 20% of its API. You should get used to figuring out what corners of a specific technology you're learning provide the biggest bang for your buck, and concentrate on having solid knowledge of those.
The good thing about overlearning is that it's fairly easy to avoid once you're aware of it and what it looks like. Next time, I'm going to discuss how much HTML you need to know to be job-ready!