TL;DR: Recodin is one of my attempts, to fight procrastination.
As a programmer, I’ve always wanted to create something. Even better if I can make a living by my creation. Yet it’s easier said than done.
Life is hard. Work is hard. We can barely breath when off duty. Heroes (opens new window) are rare after all. Mediocre as I am, there's still a voice deep down shouting, no...I have to get out of this race (opens new window).
I'm sick of dreaming and its never for real. Sometimes you've just gotta make it for yourself.
# Fire and Motion
I've tried countless ways to overcome procrastination. I've read books (1 (opens new window), 2 (opens new window)...) about productivity, about how to stay focuses and healthy (1 (opens new window)...). I've tried the advices/practices those authors suggested. In a way, they were all good. But in the end, it all comes down to me. If I can't stick to it, there's no way to pull something off.
Of the many methods I've seen and tried, there's one that's really helpful to me. It's from Joel (opens new window).
You have to move forward a little bit, every day. --- Fire and Motion (opens new window)
We are not as smart as Joel, who needs only 2 ~ 3 productive hours a day to get work done. It’s even way harder for us to launch the editor. But we can, we must, move forward every day. So why not just start with problems we have, or our own issues we’d like to solve?
I examined myself closely and here are some of my weaknesses:
- I forget things, a lot. I forget about what I coded yesterday. I can't recall the workarounds/patches I applied to my ugly work days ago.
- I'm not fond of writing documents (owing to my bad writing skills), I believe you aren't either.
Even being such a bad writer, I still manage to write things about what I did or obstacles I had each day. Sometimes just some gibberish/nonsense/curses that's kept to myself only. That's easy enough for me. I can write things down quickly and look it up anytime later.
# I call it Journal-Driven Development (JDD).
It's actually invaluable to write down your development progress with casual language. Even more so when you're doing your pet/side projects. You normally wouldn't have the time to work on your side projects every day. So if you keep a journal, you'll know immediately/exactly where you left off and where to pick it up. Just like we are told to write a broken test at the end of the working day. (I'm not a disciple of TDD * Stands for test-driven development. In TDD, each new feature begins with writing a test. source
, but a believer (opens new window) of all kinds of tests.)
I'm still struggling with my imaginary enemy. Is JDD going to defeat it? The answer is up in the air. One thing for certain is we move forward a little, every single day.
We are all procrastinators and I peacefully live with it.