Learning a New Programming Topic? Start with the Big Picture

It kept happening. I’d set out to learn a new programming topic and get caught up in the details. Learning something new took forever.

I’d spend oodles of time at my desk trying to master some nuance mentioned in a chapter or course, which, in retrospect, was a “nice to have” but definitely not a necessity at the time.

At first I thought my lengthy learning process was because the topic was hard, or that I was a slow learner. Perhaps.

But I soon realized the real problem. As I’d zone in on the details — all of the details — of a computer science course I was taking, I’d lose sight of the core topic I’d set out to learn in the first place.

Learning the details can be a good thing, if they’re the right details at the right time.

That’s why getting the big picture is essential. It makes learning much more efficient.

It’s Like a Puzzle

Say you want to put together a 1,000-word puzzle. If you’re like me, you’ll take a good look at the lid of the box to see what the puzzle looks like when complete.

You mentally note major features: a bridge, several skyscrapers, a river, and a sky at sunset. You even prop the lid on the table as you sort the pieces and begin to put them together.

You’ve made your puzzle process infinitely better simply because you got the big picture: a high-level view of what you’re doing and what to focus on. Now you’ll begin your work with purpose and maintain this sense of purpose throughout.

For those same reasons we need to get the big picture when learning new programming topics.

The big picture is my first pass at whatever I’m learning about. I get a general understanding of the topic by identifying core concepts and finding out why and when I’d use whatever I’m learning about.

Here’s an example. I was building my first web application and needed to learn about joins. I began with the big picture.

Here’s what I found out:

  • What joins are and why they’re useful

That’s all I needed. With this information, I knew where to allocate my time and attention when I took a detailed dive into joins. As a result, my learning process became much more productive.

Are You Wasting Your Time?

There are two reasons why getting the big picture matters. First, it makes learning effective simply because you know what to focus on.

For me, that meant learning the ins and outs of inner joins. I got familiar with the other join types, but didn’t get bogged down in the details.

This is a critical point. My past self would’ve got hung up on all of the joins and their nuances, even though I only needed to know about the inner ones.

This is not to say that outer joins, for example, aren’t important. They’re just not important right now. When the time comes, however, I have a general idea of the concept and can study it thoroughly.

Second, the big picture is a relevancy check. Use it to see if what you’re planning to learn is really what you need to learn. An example will help.

I was building a website with Gatsby and needed to add images to several pages. I found a course that had a section of lectures devoted entirely to adding images to a Gatsby website.

In this particular case, I knew the concepts I was after. I could’ve started with the first lecture in the section and slowly followed along.

But that’s not what I did.

Instead I got the big picture and realized that the first lecture was irrelevant for my needs. In fact, most of the information I needed was contained in the last three lectures. Getting the big picture saved me a lot of time. Instead of going from the start to finish in a course, I quickly found what I needed and focused on it.

After I get the big picture I take a closer study of the topic. But here’s the important point: I enter this second pass with a primed mind. I know what to look for. I’ve already seen or read the information once, and I’m ready for more. Plus, in my experience, the repetition of material also helps the information to stick.

How to Get the Big Picture

I find that many technical resources jump right into the thick of things, leaving it up to me to get the big picture. I often use multiple sources to pull this information together. Here’s how I do it:

Watch a lecture on fast speed. That’s what I did with the lectures about adding images to a Gatsby website. Of course I missed most of the details. That’s fine, because my aim was to find out what concepts were discussed, and to see whether or not they’re relevant to me.

As I watch, I’ll note the times when important topics are discussed. On a piece of paper I’ll write something like **2:30, meaning there’s an important point at the two-minute-and-thirty-second mark. I’ll also write what appear to be important words or concepts. Then, once the lecture is over I know where to direct my attention.

Skim chapter headers. The headings of a chapter or article often give away a lot of information. If you find a relevant header, skim the passage under that header.

Read the chapter summary. Many times the end of a chapter will have a section that summarizes key points. Read this first! It’ll give you the main ideas that are discussed. If an idea seems interesting or relevant, then skim the section.

The big picture isn’t just about consuming information at a high-level. It’s also about retaining the information and understanding how the main components of the topic fit together.

It’s why you keep the lid of the puzzle box out when you’re solving a puzzle. You don’t want to lose sight of what you’re setting out to do.

So once you think you’ve got the main points, quiz yourself. As I watch a lecture at a fast speed, I jot down some brief notes of the main ideas discussed. When the lecture is over, I ask myself what the lecture was about or see if I can explain a concept that was discussed.

This keeps learning active and helps to ensure that you’re paying attention. If you’re not able to briefly summarize the main points, then try getting the big picture again with the same sources or find a new one.

Getting the big picture is an effective step in the learning process, especially when learning to program because there’s so much to learn.

It’ll help you train your brain to hone in on and make sense of the most critical concepts, and filter out the lesser ones. It’ll also help you focus on the right things at the right time, knowing that you can always circle back to some nuance in the future when you need it.

I write about learning to program, and the best ways to go about it (amymhaddad.com).

This article was originally published on amymhaddad.com.

Programmer and Writer: amymhaddad.com | programmerspyramid.com | @amymhaddad