A quick heuristic that you can use to measure your progress in a certain area is to gauge what type of questions you’re asking, and to see whether they have changed over time.
For example, if you set out to learn to code two years ago, an obvious question you may have asked yourself is “What coding language should I begin to learn with?”
Now, if you are still stuck with the same question, you know you haven’t really made much progress. The best thing to have done two years ago would have been to pick any beginner-friendly coding language and to get started as fast as possible. If your thoughts still revolve around answering that question, then needless to say that the last two years have not contributed towards achieving your goal.
On the other hand, if one of your current question involves examining the syntax of a coding language and on building projects that interact with different Web APIs, then you’ve probably made progress.
Here’s a real life example. In my case, I have been deliberating starting a new eCommerce project. This project appears to be riddled with a bunch of legal obstacles. So, my main concern a month ago was on how to address these legal concerns.
Forward to present day. It still happens to be the question at the topmost of my mind. I’ve bought the domain name for my project, talked to a few contractors, and done some design work.
But I’m still being held back by these legal concerns, and until I resolve them (or find a way to move past this question), I can’t really say I’ve made meaningful progress.
I think another idea that stems from this discussion is to move fast. To make decisions rapidly (but not hastily) and then to execute accordingly.
I once read that one’s confidence levels are directly correlated with one’s ability to withstand uncertainty. If you’re still asking the same questions that you were a few years back, you likely do not operate well under uncertainty.
Realize that you will never have perfect information, execute fast, and start to make progress towards your goals.