DEV Community

Chak Shun Yu
Chak Shun Yu

Posted on • Originally published at takeamoment.substack.com

Is my plan concretely actionable?

The previous edition of Take a Moment was about the importance of having a plan. A plan should provide you the structure to keep on moving towards your goals by telling you what to do next each step of the road. But that's not always the case. Sometimes despite having made a plan and scheduled time for it, you still can't seem to make progress with it. The reason that you can't stick to your plan is because it is not concrete enough.

What happen is that when you want to work on the next step in your plan, you then either have to think about what you need to do and how you want to do it, or you just don't know where to start because the plan is too abstract. This is not what you want. You're mentally prepared to actually work on your goal rather than working on how to work on your goal or just mindlessly trying stuff. Instead, you end up wasting a lot of time and/or just giving up because you feel like you're not ever making progress, and so you fail your goal. 😭

So before you fall into this scenario again, I want you to take a moment and ask yourself the following question:

Is my plan concretely actionable?

In particular I'm referring to the next steps of your plan. To be able to make sticking to your plan as easy a possible, those need to be as concrete and small as possible. Basically when you see your next step or todo, it should immediately tell you what to do. Even better if it also tells you how to perform the next step. If the next step is not immediately actionable, then it is not clear enough.

Let's say you want pick up a new programming skill and decide to learn the frontend library React. Because you know the importance of having a plan, you decide to spend some time on creating a proper plan and come up with the following:

  • Learn React
    1. Go through the tutorial.
    2. Read through all the docs.
    3. Build 5 super awesome React projects.

This is a good start for a plan, but some aspects could be a bit more clear. Remember the main question of this week: Is my plan concretely actionable? The first 2 steps are pretty well defined. They're straightforward and the moment they are presented to you, you know immediately what to do. So yes, they are actionable! 👍

But the third step is not so concretely actionable. After going through all the docs and the tutorial, the most logical way to improve your understanding and experience with React is through actually creating stuff with it. But if you look at just "Build 5 super awesome React projects", where do you start? Odds are that you have no idea what to build, where to start, or how to approach it. This is the moment where a lot of people will lose control, get lost, and as a result fail their goal.

So how do you avoid this and instead keep making progress with your goals? As the question of this post indicates: make your plan concretely actionable. Is "Build 5 super awesome React projects" a concretely actionable step? It is definitely actionable, but not concrete enough though.

Now let's compare the above plan to the following plan:

  • Learn React
    1. Go through the tutorial.
    2. Read through all the docs.
    3. Build 5 super awesome React projects.
      1. Look for 10 blog posts with example projects.
      2. Pick out all the projects that I find interesting.
      3. Sort them based on difficulty.
      4. Start with the building 4 easiest ones and then do 1 difficult one.

By no means am I saying that this is the best way of learning a new library, language, or framework. Also while this plan might work for one person, it doesn't have to work for you. Depending on how normally work or achieve your goals, your plan will look totally different. And that is totally fine.

The point of the breakdown is to illustrate the benefits of making steps and goals as concretely actionable as possible. The moment you go through the above plan, you know exactly what to do like you're following an IKEA building manual. Since you've broken up your goal into small intermediate steps, you also know for sure that everything contributes towards your greater goal.

But how do you know how to make your plan more concrete? Well take your plan and question whether everything is clear, and if not think about what makes it not concrete enough. It often helps to visualize your journey towards the goal and note down everything that is unclear to you. Those notes are your intermediate steps and figuring out how to make them concrete will be your new plan. And if the resulting plan is not clear enough, you repeat the entire process.

So that would look as follows: The goal is to learn react and the last step in the plan is to build 5 super awesome projects. Is that concrete enough? Just building without any idea what to build makes no sense, so I should figure out what to build. Is that concrete enough? There are so many possibilities, some of which I might not even like. And what if they are too difficult? Guess I could 1) go through 10 blog posts with example projects, 2) list them all together based on if I like them, 3) sort them based on difficulty, and 4) pick 5 ideas from those. Is that concrete enough? Almost... maybe for step 1 I should limit myself to Medium and Dev.to. Is that concrete enough? Sounds good!

So basically the goal is to continue making your plan more concrete by figuring out the unknowns beforehand, rather than when you scheduled time to work on it. The way to address those unknowns will be the concrete steps to your plan. If that is not enough, iterate over the plan again and repeat this process until everything is concrete enough and immediately actionable upon. 🔁

So now that you know why and how to make a better plan, I want you to Take a Moment to ask yourself whether the next steps to your plan are concretely actionable. If not, sit down and go through it again. Look for vague next steps and break them down into bite sized steps. Think about what the most concrete next steps are for your plan, address them, and update your plan accordingly.


I believe that becoming a great developer starts with becoming a better developer today compared to yesterday. The best way to be a better developer is identifying what you can improve upon and taking action to improve; become self reflective. And the best way to be self reflective is periodically stopping in your tracks, taking stock of everything that happened in the past and the present, and make a plan for the future; taking a moment.

To accommodate this, I’ve created Take a Moment: A newsletter focused on becoming a better developer by forcing you to stop in your tracks, take a moment, and self reflect one question at a time. Every other week you will receive a post like this in your inbox: one self reflective question and complementary descriptions around it for context.

If you liked this post, consider sharing or signing up now for Take a Moment to start your journey in becoming a better version of yourself.

Discussion (0)