Amy M Haddad

Why You’ll Make More Programming Progress in 2021 with Monthly Planning

By: Amy M Haddad


I did something different in 2020, and it's had a profound effect on my programming progress. Instead of detailed quarterly plans, I’ve been creating detailed monthly plans for my programming goals.

This one change has had such a positive outcome that I’ll do it again in 2021—and I encourage you to do the same.

The Power of Focus

I’ve set quarterly plans for my personal work for as long as I can remember. But in 2019, my plans were consistently foiled. I kept missing the quarterly goals that I set for myself.

In retrospect, that’s not too surprising because a quarter is actually a long time. So much can change. It’s really hard to anticipate what’s going to happen in three months.

That’s precisely what got me into trouble in 2019: I consistently overplanned and underestimated how long it would take to nail new concepts or complete practice projects.

Practice projects took longer to complete than expected. Technologies took longer to learn and get comfortable with than I’d planned for at the start of the quarter. I was putting a lot of time and effort into my personal programming work, but I wasn’t seeing the desired results.

So I turned to monthly plans for my longer-term goal planning. At the end of the month, I plan what I want to do, learn, or build for the month ahead.

This helps me to focus my time and attention on realistic, manageable goals. It also helps me to see progress: a month is plenty of time to make significant headway on something.

Now that I’ve done this type of planning for an entire year, I can tell you this one change has had an incredible impact on my programming progress. Here’s how you can implement a monthly plan, too.

Crush It

The monthly plan forces you to be selective and prioritize precisely what you want to get done. There’s not enough time to do everything. Instead of saying you’ll learn Node and React and build “x” number of applications this quarter, you commit to learning Node this month.

As a result, you’ll find yourself doing better work. Rather than spreading yourself too thin trying to get it all in, you’re laser focused on one thing—and doing that one thing exceedingly well.

The workload becomes much more manageable, and therefore realistic. This fuels motivation because you can see the progress happening right before your eyes.

And you know that you’re making progress because at the end of the month, you’ll create a new plan for the month ahead. This means setting aside some time to reflect on what you did during the month of November so you can effectively plan for December.

Get Better Faster with Feedback

This rapid monthly feedback loop is critical, and is a key reason why monthly planning is incredibly effective.

The last Sunday of the month I make my plan for the following month, which means I’m constantly evaluating and reflecting on my programming progress to see what’s going well and what needs some work.

There have been several occasions when at the end of the month when I’ve said to myself: “I could use more practice with this” or “I need to take a deeper dive into that.”

So I make time for this extra practice or learning in the following month. My personal programming work is about learning and getting better. If it takes me an extra month to really solidify a concept or complete more practice projects in order to feel more comfortable with a technology, I’m fine with that. I’d rather spot a weakness and do something about it, than let a lot of time go by and have the problem get worse.

I want to build a solid foundation of programming knowledge. The monthly plan is helping me do that.

The Details Matter

Admittedly, I haven’t thrown the quarterly plan completely out the window. Instead of a plan, however, I make a quarterly sketch. It contains broad ideas of what I’d like to accomplish. But the details really take shape at the monthly level.

My monthly planning process is twofold: reflection and action. First, reflection because it’s important to look back in order to move forward.

I pull up my past month’s plan on my computer and assess how I did:

  • What went well.
  • What could have gone better.
  • What I’ll do differently in the month head.
  • Any noticeable trouble spots or knowledge gaps.

This is an informal process. The point is simply to take an honest look at what happened during the past month.

However, I do type out my responses. It helps me solidify my thoughts. It also underscores the seriousness of the process. Instead of casually thinking about the past month, I’m taking the time and putting in the effort to write out coherent answers.

Then, I make my plan for the month ahead. There are many ways you can go about making a monthly plan. I’ve used different approaches, depending on what I’m trying to achieve.

One way is to have one main objective. For example, say you want to build out the backend of a project with Node.

Then, create a handful of sub-goals that’ll help you reach it. Think backwards, and ask yourself this question: "what are three or four things that'll help me reach this main objective?"

Keeping with the same example, your sub-goals may be specific projects you want to complete and the concepts you need to learn.

These sub-goals are specific, and they’re incredibly important to have. They’ll help you reach your main objective. They’ll also be a means of measuring your progress at the end of the month.

Monthly planning is fantastic for longer term goals. Yet it’s equally important to create weekly and daily plans: they’re essential to help you chip away at your larger goals and to ensure that you’re on track.

Make It a Reality

My weekly planning takes place on Sundays. I head to my standing desk, open Evernote, and evaluate my programming progress at the weekly level. First, I reflect on what went well during the past week and areas of improvement.

Then, I identify my goals for the week ahead. I ask myself: “what do I want to get done by the end of the week?” I pull up my monthly plan as I think through the answer.

This weekly assessment brings awareness of what I did during the past week and what I want to do in the week that follows. The when and how I'm going to do it comes to light when I create a daily plan.

I end my day the same way: by creating a plan for the day ahead. So on Thursday evening I create a plan for Friday. I allocate a block of time for each task I need to complete. For example, from 6:30-8 - solve ‘x’ problem.

Monthly planning gets the main goal into place. The weekly and daily planning help to make it a reality.

The Outcomes You Want

The older I get, the more I realize how important it is to have specific, concrete plans. Otherwise, goals fall through the cracks. Specific plans help to enable the outcomes we want.

At the same time, a specific, concrete plan keeps your programming journey focused on yourself. A monthly plan is a constant reminder of what you're doing, the progress you're making, and how you're getting better. The focus is on your outcomes, which helps evade the “comparison game” that’s so common in life and in programming.

So, as we round out 2020, I can assure you of one thing: on Sunday, December 27, I’ll be creating my monthly plan for January 2021. I hope you’ll do the same.

← back to all posts