loading...
Cover image for Creating Your Programming Study Plan

Creating Your Programming Study Plan

pmihaylov profile image Preslav Mihaylov ・7 min read

Originally posted on pmihaylov.com

If you've read my last article and taken action, you should now have plenty of time allocated for you to study throughout the week. Now it's time to create your study plan.

Simply having the study time, does not necessarily mean we can use it effectively. Often times, we meaninglessly drift through online courses, textbooks and side projects without really finishing anything.

Sooner or later, you will end up in a situation where you've bought numerous Udemy courses and you've merely completed 10% of each of them.

That, indeed, is one of the greatest challenges of self-study - organising your curriculum & study plan.

But fear not. In this article, I will show you how to bring order to your course catalog mess. One step at a time.

The Big Leap Won't Work

You've probably already heard that one should "write down his goals". There are many guides out there on how to make your "New Year's Resolution" work by following some system for making goals and sticking to them.

But often times, all these guides don't work for us. They are either too simple and don't scale well (e.g. a TODO list). Or they are way too complex and hard to follow.

A common way to make a bad beginners plan is to create a schedule with very strict deadlines & timeframes for working on your goals. One example is to come up with a schedule for one year ahead which demands that you study for 2 hours every single day in order to hit your deadlines.

That isn't necessarily a bad plan. It could be a great plan for someone who is that driven, but I would definitely not recommend it to someone who has never made a plan before.

And of course, there are some who could go hardcore from day 1. But my goal is to expose you to a process which is flexible and sustainable based on your circumstances and pace.

Your Study Plan Template

In order to make this process as painless for you, I've already created a study plan template for you. You can find it here.

If you want to explore it on your own, feel free to stop reading here and jump into it. If you prefer a more guided experience, read on.

Write your Goals and Estimate them

The basic usage of that sheet is to outline what goals you want to reach in a specific timeframe. You can specify the timeframe you prefer in the "Start Date" and "Deadline" columns.

In each of the separate "Project" sheets, write down all the small tasks associated to a goal you want to achieve, along with the milestones to mark the significant milestones throughout your progress.

For example, if you want to read the book Inside The Machine (which I highly recommend by the way), you can add that as one of your projects:

The "Initial Estimate" is the hours you think you need to spend to finish a task, while the "Final Estimate" is the actual time spent working on the task. This is something I use to track how much I deviate from my estimates over time.

But if you're not interested in that metric, consider removing the "Initial Estimate" column and only update the "Final Estimate".

The importance of this step is to measure how much time a goal will actually take you and make a decision based on that.

If you have a six month timeframe, you might want to finish three projects, each of which are estimated at 3 months.

Now is the time to de-scope certain projects/milestones. Only include what is feasible to accomplish in this half given your pace.

Finally, add an additional small project in the "Extra Mile" sheet. This should be the "stretch" you need not accomplish in the timeframe. But it is the waypoint you should be aiming for.

Track your Progress and Improve over Time

After you've added your estimates, the statistics & aggregations in the "Summary" sheet will update automatically. Try marking some of the tasks as "Done" and see how the totals in the "Summary" sheet update.

These stats will let you see how close you are to completing a project. It is another thing to keep you accountable.

Another one of my favorite statistics is the "Velocity". Using it, you can track how much time you need to invest per day, based on estimates, to hit your goals.

Side Note: In order to see velocity stats, change the "Start Date" and "Deadline" to not be in the past

You can use the velocity as a knob you can turn up or down, depending on how much time you have for study per week. This will allow you to plan & reach your goals at your own pace.

If this is the first time you do something like this, I suggest you add as much projects as to fit 30 minutes per day of effort. If it turns out you are going at a faster pace, feel free to add more and adjust.

After your first six months, you will have a good idea of what's the nominal velocity you can support. After that, start adding a bit more projects to your planning, so that you increase your work load over time.

Additionally, the "Current Velocity" will quickly show if you are lagging behind the pace you need for completing your projects. If that's the case, plan some extra time during the weekend to catch up, perhaps.

How Will This Plan Help Me?

The key to consistently achieving your goals over time is having a plan. And the key for sticking to your plan is for it to be sustainable.

You can't expect to work miracles from the first try. There is no need to rush & burnout. Life is a marathon, it is not a sprint.

The sheet I provided you with, will allow you to be flexible in terms of how much time you invest in pursuing your goals. If you can sustain studying for 1 hour a day, it will serve you well. If you prefer studying for 3 hours, you can adjust it to fit your tempo.

But the greatest thing about it is that it will allow you to track your progress over time and improve.

Conclusion

Establishing a habit to study consistently is only the first step to establishing a good study routine. The next step is making a plan.

In this article, I've provided you with a framework you can use to plan and stick to your projects at your own pace.

Over time, you will improve & adjust. When you look back, you will realise that you have gone a long way since you first started.

Posted on by:

pmihaylov profile

Preslav Mihaylov

@pmihaylov

Speaker, Software Engineer, Technical Trainer. Passionate about computer science, presentations and reading books.

Discussion

pic
Editor guide
 

Hi Preslav,

Congratulations for this great article, I think it can be a good guideline for those who want to set goals and keep the path.
I only want to suggest that instead of using a sheet template I think it could be more interesting to use a free platform such as Asana (which is not very difficult to learn how to use) in order to plan goals and monitoring progression because it will be also a way to get use to a currently very used tool in professional environments.

What do you think?

 

Is anyone here using Notion? Spreedsheets are good but when it comes to personal planning & project management I use Notion. I may try to re-create this spreedsheet in Notion and hope I can share the template soon.

 

I hadn't heard of Notion before and I just googled it. It actually looks promising. Typically, when I create sheets, I like adding a lot of custom views/stats/graphs/etc.

To what extent can you re-create the things in the sheet?

I'm curious to know how it looks like in the end. Would be happy to see your Notion sheet if possible :)

Hey,

I have completed my recreation of your spreedsheet in Notion. Here's a link to it.

Notion lacks some math functions and a few features in formatting columns, but overall it works. I hope it's useful.

Thanks! It looks nice. I like the new addition of "Phases". I might actually reuse that in a future upgrade of the plan to incorporate more long-term planning.

 

I believe a spreadsheet is a great way to project plan, and starting with them now can prepare you for professional environments.

I like dedicated project, and task, managers and have tried to implement every one at my work. However, my company is set on using Google Sheets for everything. Rather than fight this, I now create custom templates for project management, milestones, and issue tracking with Sheets.

It’s not my ideal tool, but I believe many companies probably use Google Sheets, or a similar spreadsheet tool, to plan.

 

Hello Alberto,

I've used Asana in the past (and similar task tracking tools) and the problem I have with all of them is that they are inflexible and non-customisable (especially the free versions).

For example, the velocity statistics I've created is something I at least haven't discovered in Asana.

So I know that dealing with Excel or Google Sheets can be a bit tedious, especially at the beginning, but if you learn a bit of spreadsheeting, this can enable you to create pretty much anything you like, without relying on third-party tools.

 

Hi Preslav,

First of all, thank you for another awesome post. I've just discovered your blog lately and your posts have been helping me a lot.
While recreating your spreedsheet in Notion, I found something confusing in the Project sheet. The Inital Estimate and Final Estimate columns are in hours, while the Days Left column is in days. Should it be Hours Left?

Again, thanks for your amazing posts.

 

Hi Nguyễn,

I'm glad you found this useful!

The "Days Left" columns are intentionally left in days, as my study hours per day varies. Especially when the deadline gets near, the weekend days I track carefully as I use those to do some final crunch hours.

 

I've been studying programming for 15 years now. 7+ languages. I never planned to study this long LOL

 

I have a great YouTUbe Video with a similar Study Plan Device. Check it out here:
youtu.be/Ko8vTY830fg

 

Hi,

Thank you for shared this post.

This plan is very use for me, but progress column isn't updating.

Please suggest me.

 

feel free to share your own template with me (preslav@pmihaylov.com) and I will look at what the issue is