Your programming new year's resolution

Your Programming New Year’s Resolution

So it’s that time of the year when you make your new year’s resolution. As developers, that might revolve around filling some gaps in our understanding of systems we use or perhaps learning a new programming language.

Whatever your goals might be, one thing is certain about new year’s resolutions – you can hardly achieve it without laying out some plan. Without a plan or a schedule, it is perfectly normal to stray away from your goals and go back to your normal routine of spending time with some addictive, but needless pastimes such as checking your facebook news feed.

And I’m not sharing anything new. Most people understand this. However, planning and organising one’s life is not an easy undertaking. That’s why I’ve prepared this article – to help you establish an effective and sustainable routine to steadily achieve your goals.

Find time to pursue your goals

There is no plan in the world which can work for you if you don’t set aside any time for pursuing it first.

The number one reason people don’t stick to their new year’s resolution plan is because they simply don’t allocate any time to doing it in the first place.

It is easy to stick to a plan while you’re excited about it. Sticking to a fitness plan, for example, is easy the first few weeks because it’s something new and exciting. But after that initial burst of adrenaline has faded away, you need some self-discipline to sustain the work.

Therefore, before committing to any plan at all, find a slot in your busy day where you can spend an hour or two to work towards your goal. One key mistake to avoid here is to not commit to an excessive amount of hours you can’t sustain.

It’s far more important to work consistently than it is to work a lot. If you can sustain an hour of work per day long enough, extending that to an hour and a half is not a big stretch. But sustaining a schedule of 5 hours of work daily with a track record of 0 hours per day before that is simply unrealistic.

Be honest with yourself about your limits. Utilise the little discipline you’ve currently got and slowly expand on that. The compound interest on this consistent effort over time will greatly outweigh any of the short-lived bursts you might experience.

Another thing to have in mind, especially if you’re a full-time worker, is to learn to spend the mornings to pursue your goals, not the evenings. The mornings are the times you are most productive & have the most energy. Leverage that time to pursue your own goals, not someone else’s.

To learn more about the reasoning behind this advice, check out my article on studying as a full-time developer.

What makes an effective plan

Before proceeding with a plan, be sure to have achieved the discipline to consistently work towards your goal. The advice in this section will only work if you’ve committed to a sustainable work schedule.

Otherwise, you might throw away this advice, deeming it as “not working for you”. However, there is an important prerequisite to any plan and that is to have the discipline to stick to it. I acknowledge that building that discipline is not easy, which is why I wrote the previous section to walk you through that process first.

Having this in mind, to effectively utilise the little time of day you’ve allocated to your goals, you need some process to make sure that:

Your goals are reasonable

Some of the more ambitious people I know have shared with me that one of the reasons they’ve failed to stick to their new year’s resolution is that they’ve made some too ambitious goals, which they weren’t able to achieve.

This is why, your plan should be reasonable. You can’t expect to achieve a huge milestone, while also chasing several smaller goals in an hour of work per day.

For those who are starting out with a process like this, it’s first important to build the confidence that you can achieve any goal at all. Therefore, my advice is to start with a smaller goal in mind before proceeding with a more ambitious undertaking.

In addition to that, after you try out the process I have in store for you, you’ll quickly realise that you can’t achieve everything you want. You will have to learn to prioritise and say no to some of the less important goals you have in mind.

You’re tracking your progress

Some of the most detrimental kinds of work are the ones where you feel like you’re ticking off checkboxes in an endless backlog.

It’s true that taking on this endeavour is a lifelong journey. After you achieve your big plan, you’ll have to come up with something even greater to pursue.

However, it’s great to have a lot of small milestones to pursue, achieve and celebrate. That way, you are much more motivated to keep up and pursue the next one.

You’re flexible

No matter how precise your plan is, there will always be roadblocks along the way. Perhaps an unplanned vacation or unforeseen consequences which will send you on a 2-week break.

This is perfectly normal and instead of trying to avoid this, you should factor it in your plan. What’s much better than a rigid routine is a flexible one.

One which is oriented towards results, not the time you spend. You might have some days where you work more and days when you work less. At the end of the day, the outcome is most important.

Your new year’s resolution plan

Without any further ado, here’s your new year’s resolution planning template.

Grab a copy of it with File -> Make a copy. Don’t forget to bookmark it in order to not lose the link.

Afterwards, rename all the tabs with your project names and start filling them out with the subtasks for that project.

Estimations, deadlines and staying on track

For each of the tasks in your projects, set the “Initial Estimate” and “Final Estimate” column to the number of hours you think you need to spend on those particular tasks:

Estimates for project tasks

After you’ve filled in all your projects and subtasks, go to the “Summary” page and set a deadline:

Deadline for new year's resolution goals

I like to make my plans in increments of six months. So if you’re making this plan in December 2020, the start date will be Jan 1st, 2021 and the end date – Jul 1st, 2021.

After you set the dates as well as the estimates for all your subtasks, the rest of the fields in this sheet will adjust to show you the estimated time you need to spend in order to achieve the goals you’ve planned.

Here’s an example:

Statistics about your plan

The first two columns show you how much time per day you need to spend to complete all projects. Use this and adjust it based on how much time you plan to spend on these projects.

If your plan is to spend an hour per day while the velocity demands 1.7h/day, then you’ll either have to commit to more time per day or you’ll have to descope some of the projects. If this is the first time you do anything like this, I’d suggest the former approach.

When you’re just starting out, it’s better to under-commit and overdeliver in order to build confidence. After one iteration of doing this, feel free to dream bigger and try adding some stretch goals.

The final two columns in this section show you the actual velocity you need to spend to achieve the goals and the velocity you currently have.

These are the ones you’ll most frequently use while using this plan as they allow you to stay on track. If, for example, you spend only an hour per day when you need to spend two, these columns will show you how far behind you are and how much catching up you need to do.

Tracking progress

The top section of your “Summary” tab shows you how close you are to finishing any of your projects:

tracking progress towards your goals

Once you hit 100%, you have a reason to celebrate and be proud. It is easy to start new projects, but it’s hard to finish them. Use this section to track your progress and ensure you finish the projects you start.

It is far better to have a few projects at 100% than a dozen at 30%. As time goes by, you can go back to these sheets and keep track of your accomplishments over the years.

Here’s where you also set the priority of your projects. Use these to evaluate what to focus on first so that even if you don’t accomplish everything, you’ve accomplished the most important projects.


One of the tricky parts of using this sheet is adding new projects. Once you do, you’ll have to modify the “Summary” tab and add those to the list of projects. To do that, you’ll have to tinker a bit with the formulas.

To avoid doing this, make sure you rename the projects which are already in the template rather than creating new ones as you’ll avoid going through this exercise.

Additionally, notice that there is a hidden column D in all your project tabs:

Day lest hidden column

This column auto-fills itself based on its adjacent values. It is used to update the “Current Velocity” and “Velocity needed for deadline” cells.

You typically don’t need to deal with this column, which is why it’s hidden. But if your stats look odd at some point, it might be due to improperly copying rows to add new tasks. If that happens, make sure this column is not empty and the formulae is correct.

Example for row 7:

Days Left Formulae


In order to make a new year’s resolution work, you need a plan. But in order to stick to one, you need some self-discipline & a schedule first.

This article has given you the blueprint. But it is up to you to embrace this process, implement it in your own life and stick to it.

After you do this, you will finally close the door of your closet of broken dreams and become a finisher. One who doesn’t just start projects, but one who also drives them to completion.

It’s time to make your new year’s resolution finally work!

Site Footer