One day you start a project, out of curiosity, to learn, to grow, and just because. What do you do once you’ve gotten everything you wanted out of it, when there’s nothing left for you to learn, your curiosity being satisfied, but the project not being finished?
In private projects this question can usually be ignored, you might be a little frustrated about the idea of trashing another project, but you got what you wanted out of it, so it’s fine. However, if a project went public and people expect you to continue, it’s getting harder. Do you disappoint them and stop? Do you keep going at a crawling speed because you have a hard time forcing yourself to work on it? Or do you pull through and get it done? Currently I find myself in that exact situation. It’s not the first time, but I struggle with an answer more than usual.
Actually, I wonder if there even are 3 options to choose from. Disappointing your users is one thing, but isn’t a crawling development just as bad? When people wait for you to get things done and it doesn’t really happen?
“Yay, people! I got 1 update done this week!”
On the other side you have “pulling through”. Sounds nice, but it might not be worth it in every project. If there’s a long weekend between you and the project being done, go for it, stopping now would be ridiculous. But what if it’s not a long weekend, but a long year or two. In that case you really have to weigh the outcome. Will it get you anywhere? Or can, and will, you spend your time better on something else?
What to do? Such a simple yet insanely hard question.
Personally I usually choose option 1, a quick and clean cut, hopefully painless. But on this project I can’t seem to be able to find the courage to do it, which makes me think there might be something to the project. I can’t point my finger at it, but if I just can’t stop, no matter how bored I get, and I keep coming back to it, there has to be something. Gaining more experience, wanting to see it through, no matter how long it will take, I don’t know.
I’m not sure what I’ll decide on in the end, but maybe that’s the worst thing for everybody, a developer who sits around thinking about what he might or might not do, instead of going in one direction without regrets, because he’s at least not stuck anymore.