I guess "Deep Work" is applicable to a lot of domains in our lives but I find out even more important in programming.
I'm currently beginning in this field and like every "self-taught" person, I had to find some stuff to learn. Well. I made some research, typed that cliche phrase: "How to learn code?" and press ENTER...
I got a rush of excitement dude! So many things! I thought I would easily become a genius. But the reality isn't that.
I quickly understood that I can't learn all the stuff out there. So I started to search the best "ressources" (but always free ressources, which seems a bit contrary to the previous goal but I'm a teenager, I don't have money to invest like I want).
After some days, I didn't really focus myself on any sort of ressource because I was still looking for the best "ressources".
That's a real issue for me. I tend to always hesitating between: "Should I deep dive in this?" or "No dude, that's not worse it".
I've read The Attention Diet and I love that idea of consuming long-term content. Most of the time, we need to hardly focus on something for a certain amount of time. That's probably essential to create value and skills.
But I struggle with the fact that at some moments, you just need specific information in order to reach a goal. You don't want to understand a topic from A to Z and engage time and energy for just one information.
That's why I ended up on this thoughts:
→ Either the information you're looking for answer to a precise question (e.g "What's the git command to create a branch?" : git branch
→ Or your question need a broad set of information to answer (e.g "How to do a website?" : erghhhhh...)
In fact you would say : "Sure. But you can decompose that question in smaller questions."
And I would respond : "Ok. But how can you find all the specific enough questions that, regrouped, permit to answer the initial question?"
When you don't know something, you don't know it. That's all.
So, I guess, we need to make this difference.
Conclusion:
When the question you want to answer is specific enough, type in Google and get your answer in order to continue pursuing your goal.
When the question is large, pick 5 minutes max (set a clock if needed) to choose the "long-form content" on your topic that seems the best for you and then, deep dive in it without distractions.
That's it for this article. I hope my thoughts will "resonate" with yours and please, give me a feedback. I'm really exciting about this topic so feel free to give your opinions.
(I hope also that my english was not too bad. If some phrases sound horrible, I'm deeply sorry and I would really enjoy getting some tips ;) )
Thanks for your time and attention.
Top comments (2)
Nice post Yann. Although I don't agree that using free resources is contrary to them being the best. Many of the very best resources for learning to program are free. From MDN to write you a Haskell for great good.
Open source is a deep rooted belief in computer science. As a result many people in the field believe in making resources free and open for everyone!
Also I like your idea of using time to help you focus. It's easy to get distracted when there's a lot of cool things to learn. That being said, sometimes getting distracted leads to discovering new and exciting concepts to learn.
Sure, I totally agree and the "Open Source" mentality is probably the thing I like the most in this new field I'm discovering. So yep, really happy that you comment and like you said, distractions are not always bad. They can lead to new exciting stuff. In fact, I would not be involved in coding right now if I didn't get distracted a bit...