At college, we had all the time in life and nothing to do. When I started working, I realized that there is so much to learn and such little time. Luckily, we do get some long weekends. Sometimes you get a Friday off or a Monday off, and while many of my friends explore Coorg or Goa during such long weekends, I work towards acquiring a new skill instead.
How do I use a weekend’s time to gain a new skill? Let me tell you how:
Just like anyone who has run a marathon would tell you, "The marathon begins a night before". It would be foolish of you to think that you can have the energy to run a marathon if the night before you went to a party and put tons of alcohol in your body.
2. Reading or learning material.
What are you going to learn? Where are you going to learn it from? Do you buy shoes on the day of a marathon? No, right? So, similarly, don’t wait to gather learning resources on the day of learning. Prepare yourself well. Additionally, much like how you don't decide which shoe to wear on the day of the run, make sure you don't bookmark all the courses and material for the day and then start picking and choosing on the day of learning. Identify what you will be reading or going through in advance.
3. Divide and conquer.
Knowledge of any field is infinite. You cannot learn all of it in twenty-four hours. However, if you make a conscious effort to identify which topics under a given theme are relevant to you in your career, then the knowledge becomes useful and meaningful. So, you need to divide and compartmentalize what you want to learn beforehand. Break down the topics and see what is most useful for you. Recently, I went through the spec of HTML as a marathon, and I failed. My mistake was that I thought I could go through the entire spec in three days. My learning, overconfidence in my own ability was counterproductive. This is why you should have a good estimate of what you need to learn and pick topics that really fit into the time available to you for learning. Think about school: a three-hour lecture session ideally requires around eight hours of independent study with note-taking, quizzing, etc. Plan well, plan ahead, plan conservative.
4. Take care of the essentials.
You don't cook food while running a marathon. Similarly, gather food and supplies in advance. At the Microsoft office, food, snacks, internet, air conditioning, and a distraction free-environment are always available. I go there if I am planning on having a marathon learning session over a long weekend. Moreover, I get into nice clothes and a professional mindset; treating my marathon learning days as regular office days and making sure my psyche is locked into work mode. This ensures that I enter a headspace already conditioned to concentrate. It might seem small at first, but the right working environment plays a big role in your productivity.
1. Remove distractions.
During a long learning day, distraction is your biggest enemy. So, be ready and armed to fight it away. Tell your friends that you won't be available that weekend. Don't check Instagram - you will only end up seeing your friends traveling, eating at some restaurant, or worse, going for that movie you also wanted to watch. These things are irrelevant and you have to make sure they don’t destabilize your focus. Keep reminding yourself that success demands sacrifice. Don’t torture yourself unnecessarily by keeping in touch with others.
2. Only eight hours.
The slow and steady wins the race. Don't expend all your energy on day one. This is a marathon, not a sprint. Your mind needs deep work hours when you are engaging with new information and trying to comprehend it, and it also needs break hours to process and consume that information passively. Make eight hours your limit and then take a break after that. Relax and enjoy your night, but don't overindulge.
3. Deliberate practice is key.
If you are planning on writing the same program or a similar program for twenty-four hours, doing so will not yield any learning. If you want to make the most of your time, increase your learning difficulty level every few hours. Solve questions or problems that test concepts from previous chapters as well. This is why you need to do your research on the learning material. Good resources can get you started quickly and a good division of material on the basis of complexity can help you move to harder concepts after every few hours. Let me give you an example: when I was learning testing one weekend, I started with the most basic examples, then started learning jest, then tried their tutorials, slowly I started writing tests for my own toy projects, then started reading production code from heavily used Open Source repos. Be sure to carefully but surely challenge yourself. If you take on too much in one go, you will give up. And if you don’t increase difficulty levels you will get bored and your learning will plateau.
Push and finish
After the first two days, two things will happen (note that I am speaking from personal experience). First, you will start feeling good about yourself and feel proud that you have made progress. Second, you will feel tired, you will make excuses to yourself, "Hey! I have work tomorrow! I deserve some time off after office, don't I?", "Let's resume this next weekend?" I urge you, don’t give in. As mentioned before, twenty-to-twenty four hours or three days of deep thought will transform you from ‘noob’ to ‘reasonably good’. If you give up now, you go back to zero. You won't have enough confidence to call yourself good, nor will you have enough energy to pick it again. This is important. Not giving up on the third day is key.
From The Productive Professional