mind body training

Train your mind like you train your body

Set goals

Knowing where to start requires an understanding of yourself: your abilities, your goals, and your challenges. As you learn, you grow and as you grow, you change. Your skills, goals, and challenges may dance around each other lightly or feel like an all-out war. This relationship is dynamic so expect and prepare for change!

Once you have well-defined goals, the next step to success is decomposing them into smaller parts until you have a schedule. Ideally, establish a learning path based on your goals. I use a modified version of the Feynman Technique and microlearning in my course preparation, coaching and training.

Strategy

While there are several common approaches and best practices to learning and teaching (such as Universal Design), individuals learn differently on various levels. Some people may appear to have a “natural inclination” towards certain topics. Others may not and may need different strategies than their peers to accomplish the same thing. Being a “natural” isn’t the only reason why people may need different strategies. Differences may also be cognitive or physical, for example. Of course, if I were to list out every way that humans may be different, I would never finish writing this article (thumbs up for scope management). While some programs have great results, one size certainly does not fit all. Learning should be accessible  to be effective.

A personalized training schedule is the best way to go. However, the sheer amount of research and training knowledge, including knowledge of common pitfalls, can be overwhelming. Lean on a trusted and well-experienced source.

Ask yourself: Do you know your learning style?

Schedule 

The schedule is the heart of any training program. Your goals become tangible, executable tasks, complete with timelines. Planning and scheduling are critical to getting things done. Your schedule will also serve as a means of measuring your progress as you complete your tasks.

Complex tasks need to be broken down into smaller pieces and some initial research may be required to understand the scope of the undertaking. Task definition and estimation can be daunting for most developers. Junior developers tend to struggle with this considerably because of their lack of experience in estimating tasks. What defines a realistic task? and how long should some arbitrary task take? It’s anyone’s guess when you are learning. Yet developers are asked to do this every day and commit to it as well! Maintaining the almighty schedule builds task definition and estimation into your everyday life. This means that every day you will improve your scoping estimation skills!

Another challenge is knowing when a task is complete. It’s like art. It’s never perfect and never done. Obsessive perfectionists will quickly learn that deadlines are a cruel reality. Define measurable learning parameters and be specific.

Good: I plan to learn X today. 

Better: I plan to create A, B, and C between 9-10 am today.

Stretch

Get ready for some heavy work. Indiscriminately eliminate all distractions. Get all of your tools in order.  Preview the task at hand and review your previous work. This will help re-align your mind with the immediate task and banish any remnants of distraction. Now you’re ready to work!

Do it now: Close tabs you aren’t using.

Workout 

Focus. Focus. Focus. Start crossing things off your list. Ideally, the big ones. Follow your well-maintained schedule and give your work the attention it deserves!

It may be tempting to go off-script and impulsively attempt to learn something else especially in this field where there is something new every second! Resist that urge. That impulse is a potential rabbit hole. In very rare cases, it might be a good decision to go against the plan (finding prerequisites) but generally, it should be avoided. Remember, you spent hours thinking about your plan but less than one second thinking about that impulsive option. Strengthen your resolve to follow your plan. Consider adjusting your schedule instead.

Think about this: How many hours have you lost because of poor focus?

Cooldown

Prolonged intensity will cause you to burn out quickly. At the very least, it leads to bad habits and poor quality of work. Practice simpler tasks closer to the end of your day (or whenever you are less productive). Whether it’s knocking off a few simple bugs or practising a simple technique you learned recently, you will still make progress at a reasonable pace. Of course, that BIG one may still be on your plate but you will get back to that. In fact, you will be better prepared for it much sooner.

Rest

Do you know that feeling of staring at a problem for days, taking a break and then the Eureka moment hits? I used to feel guilty and stressed out for not pounding away at the problem that I was being paid to solve! I felt like an Impostor until I appreciated the value of taking a break. A little rest goes a long way. So go watch TV, exercise, take a nap and if you haven’t solved the problem during those activities, you will be better prepared to tackle it after.

Don’t lose the gains

Use it or lose it. Two great ways to retain more knowledge is to reinforce your learning within 24 hours and to continually put your learning into practice.  Keep learning and, more importantly, keep practising what you’ve learned over and over again. Formalize this approach in your Schedule.

Keep Track

If you have been following a Schedule, it’s easy to see your achievements and gauge your improvement. Keeping track gives us more insight into our accomplishments. Regular reflection on achievements help refine goals, improve strategies and even rethink tasks altogether. This feedback loop is critical in the continuous cycle of improvement and achievement. It’s a reality check and a motivation tool.

Shock the Muscle

Switch things up. If you’ve been developing JavaScript apps all day, look into python for a bit, or solve a Rubik’s cube. If you’re in DevOps, pick up  “Outliers” by Malcolm Gladwell. If you’re feeling a bit more adventurous, learn to drive stick, learn Mandarin or play a new instrument. Whatever you choose, you want to “shock” your brain by throwing something completely new at it. Your mind will have to adapt and change and therefore work in different ways. You will benefit in 2 ways: by learning something new and by gaining a new way to approach existing problems.

My favourite: If you’re an OOP developer, contemplate a world with composition but no inheritance. ðŸ¤£