I am a productivity enthusiast and a perfectionist. As a developer or not, we all have things we want to do. And we all have flaws or issues which prevents us from achieving them. Mine is - being a perfectionist. My productivity wins used to be cancelled out by me being a perfectionist. It happens still. Not as much as before is all. What helps me is a rule - Doing what you can NOW. It might sound simple but it isn't in practice. Fixing my perfectionism problem is still an in-progress. But I know I am in the right direction.
"Doing what you can NOW" means doing whatever you know you CAN finish right NOW. Those tasks we choose to avoid, ignore or procrastinate. A few years ago my then manager told me about bottom-up approach during a regular 1:1. Bottom-up approach is when you do the smallest possible task you can do right NOW. Then incrementally work towards your end goal. From bottom to the top. My "Doing what you can NOW" rule stems from the bottom-up approach.
It is in our nature to bring obstacles and unnecessary blockers towards a task we badly want to do. But the reality is we always can do something towards the task we want to do. It might be as small as shopping for dev tools or frameworks. Maybe it is reading up on a new language. Or maybe it is just to create a website for your product or project. Irrespective of how blocked you may be, there is always something you can do. That something most often will be something small (especially when you are blocked). A small task which you can build up on. Like the bottom-up approach.
"Just do it™" could be seen as another version of "Doing what you can NOW". But there is a fundamental context difference between the two. Just do it encourages us to push ahead with whatever we want to do. And hopes it works out in the end. But "Doing what you can NOW" has the context that we know we can do certain things. Right NOW! Things that we can complete.
I wrote my first HTML web page when I was 12 or 13 years old. I was using HTML4. No styling cos I didn't even know that CSS existed back then. But when I wanted to create my own personal website a decade plus later, HTML was completely different. HTML and the whole web development in general had changed completely. I chose to create my website with Hugo static site generator. My personal website (https://www.unsungnovelty.org/) went live in 2019. With the aim of being minimal and lightning fast. And so far the website has went through 4 iterations.
When I first started with Hugo, I didn't know how to create my own theme in Hugo. Nor did I know how to host a website on the internet. So "Doing what you can NOW" at that time meant using an external Hugo theme. That and figuring out how to host and keep a website online.
- My first iteration used an external Hugo theme. It helped me not to worry about how my website looked. It gave me the time needed to write and understand blogging in general.
- When I learned enough about Hugo, I created my own theme. The second iteration was fully text based. It was what I could do at that time. I used Bulma CSS which is what I knew back then.
- Later when my friend started using my theme for his website, I made the 3rd iteration. It was more visually pleasing compared to the second iteration.
- And I have just pushed my 4th iteration live. It is a lot more accessible to the broader internet audience. Less nerdy and more appealing compared to my other iterations so far.
Doing what I can NOW (or then) helped me create my personal website. My initial plan was to learn advanced CSS, JS, HUGO and REACT before creating the website. None of it was necessary for blogging or to creating my website, but those were the obstacles and blockers I had put in place for myself. Creating my own website helped me be confident about creating solutions. This increased my interest in creating projects. And that paved the way to finding places like Dev.to, Hacker New, Sidebar and Indie Hackers.
An easy way to apply this is rule is to ask yourself - Is this a priority? If the answer is no, ask yourself again - What else can I do that is more important? My answer most of the time has been a no. So I end asking the second question. Then starts working on something more important. Otherwise, I know I am on the right track.
Getting things done in a consistent way is hard. And impossible at times. But we sure can make things better. We can do better than yesterday. "Doing what you can NOW" is just one of those trick we can employ when we feel completely lost or stuck. Hopefully it helps you as well.
I am currently learning a bunch of stuff for my next challenge in life. I would like to finish a couple of projects before getting started with a side project that I have been dying to work on. For the time being, I am learning from places like Dev.to, Indie Hackers, and Reddit. Things that I need to do the projects I want to do. In short, I am doing what I can NOW!