Creating Your Programming Study Plan
Tags: programming, goals, plan, study
Published: 2020-02-09 07:08:28

---
title: Creating Your Programming Study Plan
published: true
description: How to create a sustainable study plan and stick to it
tags: programming, goals, plan, study
cover_image: https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/notebook-1226398-scaled.jpg?w=1352
canonical_url: https://pmihaylov.com/study-plan
---
<!-- wp:paragraph -->
<p>If you've read my <a href="https://pmihaylov.com/how-to-study-effectively-as-a-full-time-developer/">last article</a> 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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That, indeed, is one of the greatest challenges of self-study - organising your curriculum &amp; study plan.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But fear not. In this article, I will show you how to bring order to your course catalog mess. One step at a time.</p>
<!-- /wp:paragraph -->

<!-- wp:more -->
<!--more-->
<!-- /wp:more -->

<!-- wp:heading -->
<h2>The Big Leap Won't Work</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A common way to make a bad beginners plan is to create a schedule with very strict deadlines &amp; 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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And of course, there are some who could <a href="https://www.amazon.com/Cant-Hurt-Me-Master-Your/dp/1544512287">go hardcore from day 1</a>. But my goal is to expose you to a process which is flexible and sustainable based on your circumstances and pace.  </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Your Study Plan Template</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In order to make this process as painless for you, I've already created a study plan template for you. You can find it <a href="https://docs.google.com/spreadsheets/d/1Za6oAPf0DQ3Pr2D0exTFsHulEDIcyECjWWBdt29IFDc/edit?usp=sharing">here</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Write your Goals and Estimate them</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example, if you want to read the book <a href="https://www.amazon.com/Inside-Machine-Introduction-Microprocessors-Architecture/dp/1593276680">Inside The Machine</a> (which I <a href="https://pmihaylov.com/books-read-2017/">highly recommend</a> by the way), you can add that as one of your projects:</p>
<!-- /wp:paragraph -->

<!-- wp:gallery {"ids":[951]} -->
<figure class="wp-block-gallery columns-1 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src="https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/Screenshot-at-Feb-09-07-35-25.png?fit=676%2C387&amp;ssl=1" alt="" data-id="951" data-full-url="https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/Screenshot-at-Feb-09-07-35-25.png?fit=1360%2C778&amp;ssl=1" data-link="https://pmihaylov.com/?attachment_id=951" class="wp-image-951"/></figure></li></ul></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But if you're not interested in that metric, consider removing the "Initial Estimate" column and only update the "Final Estimate".</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The importance of this step is to measure how much time a goal will actually take you and make a decision based on that. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you have a six month timeframe, you  might want to finish three projects, each of which are estimated at 3 months. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Now is the time to de-scope certain projects/milestones. Only include what is feasible to accomplish in this half <strong>given your pace</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Track your Progress and Improve over Time</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>After you've added your estimates, the statistics &amp; 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.</p>
<!-- /wp:paragraph -->

<!-- wp:gallery {"ids":[952]} -->
<figure class="wp-block-gallery columns-1 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src="https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/Screenshot-at-Feb-09-07-36-54.png?fit=676%2C127&amp;ssl=1" alt="" data-id="952" data-full-url="https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/Screenshot-at-Feb-09-07-36-54.png?fit=2160%2C406&amp;ssl=1" data-link="https://pmihaylov.com/?attachment_id=952" class="wp-image-952"/></figure></li></ul></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p>These stats will let you see how close you are to completing a project. It is another thing to keep you accountable.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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. </p>
<!-- /wp:paragraph -->

<!-- wp:gallery {"ids":[953]} -->
<figure class="wp-block-gallery columns-1 is-cropped"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img src="https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/Screenshot-at-Feb-09-07-46-53.png?fit=676%2C87&amp;ssl=1" alt="" data-id="953" data-full-url="https://i0.wp.com/pmihaylov.com/wp-content/uploads/2020/02/Screenshot-at-Feb-09-07-46-53.png?fit=1522%2C196&amp;ssl=1" data-link="https://pmihaylov.com/?attachment_id=953" class="wp-image-953"/></figure></li></ul></figure>
<!-- /wp:gallery -->

<!-- wp:paragraph -->
<p><em>Side Note: In order to see velocity stats, change the "Start Date" and "Deadline" to not be in the past</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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 &amp; reach your goals at your own pace.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>How Will This Plan Help Me?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can't expect to work miracles from the first try. There is no need to rush &amp; burnout. Life is a marathon, it is not a sprint.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But the greatest thing about it is that it will allow you to track your progress over time and improve.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Establishing a <a href="https://pmihaylov.com/how-to-study-effectively-as-a-full-time-developer/">habit to study consistently</a> is only the first step to establishing a good study routine. The next step is making a plan.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In this article, I've provided you with a framework you can use to plan and stick to your projects at your own pace. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Over time, you will improve &amp; adjust. When you look back, you will realise that you have gone a long way since you first started.</p>
<!-- /wp:paragraph -->