I am an avid fan or productivity. When I learn something, it must be useful, it must be efficient, it must help me leverage either time or effort in some way. I love being able to get results for less effort and in less time.
The problem is, when you are so use to running, it is painful to return to crawling pace. Allow me to explain. Crawling is slow, requires a lot of effort, and greatly inefficient, yet it still gets the job done. Running on the other hand is productive, it gets you to your destination more quickly, it requires less effort for the distance traveled, and is much more efficient than crawling. However, in order to run, you need to learn to crawl, and after you have mastered crawling, you must learn to walk, and once you have mastered walking, you can then learn to run.
When you’re are a grown adult, much of your daily activities is a consequence of well tuned habits, that allow to you to produce results quickly, without even thinking. We are all used to a certain pace of productivity. However, this sense of pace can work against us when learning new things. The main reason is because when we learn something new we return to crawling levels of productivity. This can be frustrating, and for many people, a big turn off.
All forms of learning can be said to follow this model. However, I find that it is more prevalent and obvious in the software industry. The industry is constantly evolving, new tools and frameworks appear with great frequency, and by the time you have learned to run with a new API, framework, language, or tool, it has become obsolete.
There is also the problem of the vastness of knowledge you need to learn in order to achieve some level of productivity in software development. The problem is, the more you spread your efforts in acquiring the required knowledge or skills the longer it takes to master any of them.
Knowing this, the question becomes, how can we learn to run quickly with a new framework or API? How can we beat the clock and learn to run with new abilities before its relevance expires? And how good is good enough? When is crawling enough? and how can we prioritize our efforts to target the more important of skills?
It comes as no surprise that teamwork appears to be the main solution in the workplace. Each team member brings their own specialism to the team and as a unit they have a diverse skill set. But it doesn’t solve the fundamental question of how to learn better.
Here are a few tips, but by no means a complete solution. First of all, it is important to get started. Crawling is a necessary evil, but master it quickly, because until you have, you won’t get to higher levels of productivity.
The second thing is to learn to chunk things together. Chunking is grouping seemingly disparate activities and performing them repetitively until it becomes one fluid and seamless action. By mastering chunks, you are developing actions that require less mental effort. The more chunks you acquire, the less cognitive load is required to perform complex tasks.
Finally, it is helpful to allocate a block of time to explore the new subject, without fear of judgement. When it comes to learning new frameworks, and APIs, a private hackathon seems to do wonders.
By settings yourself a deadline to accomplish an ambitious task, i.e. 24 hours to build an application in language X using framework Y, can lead you to a bout of intense learning, without getting hung up on the details. And by accepting that the results of your efforts are going to be a hack, you won’t feel so bad about throwing it away when you’re done with it. After all, the real reward is the knowledge you have acquired.
But more importantly, with each ability that you learn, always be aware of where you are on the learning continuum. More often than not when learning something new, you are learning to crawl. The more quickly you accept that, the faster you can master it before focusing your efforts on learning to walk.
So set aside some time, lock your door, switch off your phone, and get your chunk on. Set your sights on learning to crawl, walk, run, jump, fly, and teleport.