This is not an article espousing the benefits of the connectedness that modern technology provides, or defending the behaviours of one generation against the criticisms of another.
Instead, I want to discuss one way to be adaptable in an ever-changing technology world.
Over the past year I have worked as an iOS developer. This has been a major departure from my past as a Java developer, and a welcome challenge to improve my ability to pick up new skills.
Throughout my work as a professional developer I have relied on side projects to teach myself new frameworks and keep my skills sharp. Part of working in a new programming language, however, was discovering that these efforts had been built on a foundation of years of experience in a single language — Java. With Swift and Objective-C I had much less experience to take advantage of. I would often spend time after hours practicing with one area of UIKit or Core Location only to find that the next day a completely different set of technologies was required. And so I turned to the technique used by many a developer: I Googled it.
This was not enough. I needed a faster approach.
Over lunch a friend introduced me to a memorization technique called spaced repetition. This allows one to memorize little factoids by quizzing one’s self on them according to a schedule. Items one is easily able to recall are quizzed less frequently, while items one his more difficulty with are quizzed more often until they too are easily called to mind.
I decided I would try using this tool as part of my day-to-day job at The Weather Network.
In the past spaced repetition has involved keeping a card deck and a method of organizing the cards to schedule them. This would not have been practical for me, so I installed an app called AnkiDroid on my phone.
Next I started cruising around Apple’s Developer Documentation website, reading articles about view controllers, views, layouts, delegates, etc. As I read, I added questions for me to practice on. For example, “Why do UIApplicationDelegates inherit from UIResponder?”, or “What states can the memory referenced by an UnsafeMutablePointer be in?”
Throughout my day at work, as I encountered difficult problems, I took the most important learnings from them and added them as questions.
Each morning, before I did anything else, I quizzed myself.
With time the strategy began to pay off. When it came time to add adaptive colours to our app to support Apple’s new night mode features I’d already memorized enough about modifying view controllers and updating colour assets that I was able to help the team quickly update our UI’s and even preserve the themes of other screens we didn’t immediately want to change.
In technology it often happens that what you learn today isn’t immediately usable for weeks, sometimes even months. Spaced Repetition is uniquely able to taking advantage of such a problem.
With spaced repetition by the time I find myself needing to apply something I’ve learned in the past, there’s a good chance I have so thoroughly embedded it in my long-term memory that I’m able to breeze through helping my team mates with it.
That is why I spend so much time on my smartphone at work.