Writing as a Learning Tool

In software development, there’s a huge need for continual self learning. Languages and platforms change over the years while tools, services and APIs change daily. If you’re not learning something new each day, you’re likely falling behind.

With this in mind, your ability to learn is arguably your most important skill. You don’t have control over how your brain is wired, but you do have the ability to feed it information in the way it prefers. You might not actively consider it, but your approach to learning is likely some combination of how you were taught in school and methods employed by learning resources you frequent.

I’m a hands on learner, and want to start coding as quickly as possible when looking at a new API, language, or platform. I generally read high level doc and start implementing something concrete right away. I learn more as I need it, so I can apply it immediately.

Although this helps me learn, I’ve found I don’t retain the information well until I’ve written or talked about it. I might write simple in-line documentation or more detailed system documentation. Sometimes I create personal notes, and other times I write up or walk-thru complex implementations for a co-worker. I’ve always known my brain absorbed information best this way, but it was only in the past few months that I learned of more aggressive ways to employ it.

These efforts consumed most of my summer. So why did I lock myself in my study while everyone else was outside enjoying themselves with family and friends? Well, there were several reasons, including getting writing experience and giving back to the amazing iOS community.

The main reason is the same reason I’ve been doing technical editing for raywenderlich.com for the past 2.5 years. I wanted to learn. In this case, it wasn’t only about iOS 10 and CareKit, but also the writing process. This book was an opportunity to meet those other goals while also getting paid to dig into iOS 10 and experiment with writing.

Tech editing involves research, code review, and a lot of time tweaking technical explanations for clarity and audience focus. I always walk away from an edit with a strong grasp on topics I might have been fairly new to. Because I already knew documenting helped with my retention, it seemed obvious that formal writing could have an even bigger impact than editing.

It turns out, I learn a lot by writing tutorials. Everyone learns differently, but I hope sharing my experience encourages some of you to try writing as a learning tool.

Feeding Your Brain

Until recently, most of my writing had been in the form of emails, code documentation, and personal notes. Just as writing a book does, these formats all challenge the writer to consider their audience. It’s necessary to consider the reader’s potential questions when explaining something in writing. Writing for an audience forces you to question your assumptions and think more deeply about a topic.

This process occurs every day when you communicate with others, be it in writing or verbally. Even informal communication forces you to organize your thoughts and target your presentation to the audience.

I often find myself describing a problem and finding a solution before the words fully leave my mouth. It’s a form of unintentional rubber ducking. This exercise helps connect dots in your own understanding, improving retention and possibly providing answers.

With full blown written tutorials, you’re getting this same effect. In fact, I found that blog posts and books intended for a large audience amplify the effect. I felt challenged to anticipate a broader range of questions, so my research went deeper. I also needed to provide clear, concise, and relatable explanations to a large audience — so I spent a lot of time perfecting the writing.

In the end, I committed more knowledge solidly to memory than I would have by watching a WWDC video, reading a post, or playing with the APIs. I noted three major reasons for this:

Motivation: I didn’t want to mislead readers, and wanted to present myself in the best light possible. So I spent a ton of time digging into the topics to make sure I fully understood it. Once I took that knowledge and converted it into a concise and polished output, it was more neatly filed away in my brain.

Perspective: It’s easy to gloss over details when you’re learning something new. The easiest way to catch holes in your knowledge or assumptions about foundations is to start explaining a complex topic to someone. Approaching the content this way led me to a more thorough understanding, improving my explanations and knowledge retention.

Repetition: I spent a lot more time with these topics than I would have if I weren’t attempting to teach. I had to learn the content, apply it via sample projects, write about it, and then polish the crap out of it. Each phase built on the prior, and caused me to think about the information in different ways. I found these multiple approaches had a compound effect on my understanding and retention of the info.

These are my anecdotal observations, but it would surprise me if technical writing wasn’t similarly helpful to many others. It makes sense that hitting a topic from many different angles and thinking about it deeply improves your learning process.

The next time you need to pick up something new — try blogging about it. Even if you don’t have much of an audience at the start, publishing provides motivation and forces you to consider audience perspective. Reflect on how blogging effects your retention, and you might be surprised. If nothing else, future you will have a great resource when you need a refresher on the topic!