What we consume and hold in our minds is essentially our life.
If we consume garbage, chances are high that our life will be garbage, and as a consequence our output is garbage.
By just changing input that goes into our minds, we can transform the output that we are bringing to the world.
“Surround yourself only with people who are going to take you higher.”
― Oprah Winfrey
If you are a sole freelancer, or a developer who works with equally strong developers, then you miss out on the possibility of learning from peers. And if you are surrounded by like-minded engineers, then you miss out on the ability to see problems from a different perspective.
Ichak Adizes, the creator of the Corporate Life Cycle Model, said that if you neglect diversity of ideas and surround yourself with like-minded people, you will drastically reduce the possibility of achieving great results in your group.
Working on an open-source project or reading other people's code can remedy this issue.
Be picky about the open-source projects and codebase to read. Choose projects that are challenging and force you to think hard to understand their codebase. Obviously, avoid codebases with poorly written code.
Watch for your attitude while you work with other people’s code because your perspective reframes the input.
For example, when you find a piece of code that generates strong negative emotion, your first reaction might be, “Who wrote this ...?” Instead, replace this thought with, “Interesting—why did the programmer write it this way?”
If that developer is around, you have an amazing opportunity to ask them about it. That person might see and admit the mistake they made. This will benefit you both—our nature is to learn from our mistakes, or even better, from others’ mistakes.
Another scenario is that the developer will actually give you another perspective on the code that will change your mind, and you will learn from this too.
Be ready if the other person is defensive and starts to argue with you. This is a waste of time and beneficial to no one.
So don’t be offensive. Instead of using a “you did” statement (“Why did you write this way? It’s weird.”), use an “I feel” statement (“I feel confused and don’t understand. Can you explain this piece of code to me?”)
Our brain can’t magically produce great ideas from plastic bottles, banana peels, or beer cans. When our input is garbage, our output will be garbage too.
Most popular content on social media, the radio, and TV can be considered garbage—it’s negative, toxic, or at best just hollow.
Of course, not every TV show produces low-quality output for your input. The point is to be aware of what you consume.
This is the case for all sorts of media, including books, podcasts, newspapers, and magazines.
Consume content that feeds your brain with great ideas, techniques, and insights. Consume content that helps you hone important skills.
By consuming useful content, you will gradually build your knowledge base and most likely have fun along the way.
Next time you pick up an article or search for a TV show, ask yourself, “Will this content add value to what I know, or is it just hollow content that will waste my time?” Ignore everything that doesn’t add value to your life.
“Knowledge isn’t power until it is applied”
— Dale Carnegie
Knowledge is a potential—real power is action.
After one day, people forget more than 70 percent of what was taught.
By actually doing, we anchor what we just learned and start forming a skill.
Consider an analogy with the human body. If we consume food but don’t exercise, the best we can expect is that our body will be relatively okay and not overweight.
It’s the same with knowledge. Without applying knowledge to practicing, the best we can expect is that we’ll say, “Oh yeah, I read about this a couple of weeks ago, but can’t remember the details.”
In her amazing course “Learning How to Learn”, Dr. Barbara Oakley teaches how to learn efficiently.
Our brain operates in two modes: focus mode and diffuse mode. In focus mode, we can think hard about a particular idea. In diffuse mode, our brain is best at finding new ways of solving problems.
To anchor some knowledge and create a skill from it, you need to repeat the knowledge over time. Dr. Oakley says that tests work great for this. But we as developers can also apply what we learn by practicing daily when we code. In my opinion, this is even better than tests.
The best method to anchor knowledge is to apply what you learn right after you learn it. Then apply it later the same day, then the next day, then in a few days, the next week, and the week after that.
The best way to master some skill or knowledge it is by using it daily.
One trick that I found for myself is that I can remember something after one mistake. I can anchor the knowledge if I try to recall it and do it wrong. A single wrong recall is enough for me to remember something, like the path to a file, a password, or a function name and arguments.
Dr. Oakley emphasizes that a simple understanding is not enough. Understanding in addition to practice, recall, and repetition is the key to mastering knowledge. And the best knowledge is applied knowledge.
- Be aware of what information you consume—our input determines the quality of our output.
- Surround yourself with people from whom you can learn. Consider working on an open-source project.
- The attitude with which you consume information affects how it will be perceived.
- Do not lose what you have learned—apply immediately.
I've created a framework to help you eliminate unproductive activities, reduce decision fatigue, and plan your weeks for effortless execution. If you want to take your productivity to the next level, check out my Productivity Framework.