Ask HN: What if I can't finish the project?
Very often a new idea comes to me, and I start actively working on it, but I often want to stop working on a project for the sake of a new idea, and so at one point I already have more than 20 unfinished projects.
Please share a way to do something about this or share your opinion. To share my perspective: I don't believe working on what interests you most at the time is necessarily counterproductive. But like many things, it depends. Likewise, when the road ahead remains hazy or I'm stuck on a problem with my projects, I often work on another one where I have a clearer vision of how to progress. Eventually, motivation rekindles with new insight into the prior one(s). Maybe a collaborator finally reviewed my code and gave their input. Perhaps I discovered a new organizational pattern. Or maybe I just played a video game and noticed some cool UI mechanics to copy. Sometimes in a week, sometimes months. Sometimes, even a failed idea from years ago reincarnates in another form. The desire and ability to work on the project eventually return - even if it's another temporary burst. Often, the source of inspiration comes from places I never could've imagined. I take blocked progress as a sign of missing prerequisites or the timing being off. Therefore, your project will move to the next level when it does - only when it's ready to, and always at the right time. I also think new projects give this dopamine hit because everything's novel. Building from scratch leads to large, visible progress. The ideal vision is fresh in one's mind. But with time, it becomes a slow iterative crawl. New issues arise that I hadn't considered. All the fun stuff is already done, and the boring remains. The results aren't always as expected - perhaps I discover the entire premise is broken. Admittedly, 20 projects sounds like a lot. I'm at about 5 projects occupying my mental / thought space, 2 that I've actually developed recently, and I feel that's already pretty heavy for me. I'd say the determining factor of whether frequent change-ups is a problem would be your intrinsic reasons for switching. Can you make progress, but don't want to work on it, or is confidence waning in the concept entirely? Or do you feel there's just more progress to be made in the new? Is there still a desire to return to the old? If the latter, I'd say it's only a matter of time before you have 20 well-developed projects. There's no deadline, after all. Each can receive the time it needs to thrive. If the former, though, there may be fundamental issues with the premise - but that's just a step toward the next big discovery. Additional questions: When would you consider a project complete, if ever? Is there any overlap between them? Would you be comfortable sharing more details? Hey, thanks for your detailed answer! For me, a project feels complete when everything is done—full src, tests, and documentation. Most of my unfinished projects usually have only half of the src implemented, so that’s why they feel “stuck.” There’s no connection between my projects; each new idea is totally unique and unrelated to previous ones. I’ve worked on quite a variety: a new data compression algorithm, binary optimization, a logging library, an alternative to giflib, and many other library experiments. Ah, I mainly work on web apps where a homepage is enough to be considered a functional base, but I suppose it's impossible to have 20% of an algorithm working... If I may surmise, the answer to "what if" may just depend on how these unfinished projects affect you. Do you feel guilt or stress? Analysis paralysis? A bit more personal anecdotes - I often put off stuff, which led to a growing backlog to think about, which kept spiraling. But also through the natural accord, there's a critical point where the stress gets so overwhelming, I snap and go "screw it, just pick something and do it already." And so it gets done. Thinking about a whole project makes me dizzy, but I made progress with tiny parts at a time. Basically, the idea of solving a big problem by breaking it into a bunch of tiny ones, even as small as a one-line change. When I was truly stuck, often it was because I'd thought myself into an unsolvable problem. "It has to be this way." I thought brute force would get me through, but there was always a simpler and better way I had to realize. Using a package instead of reimplementing from scratch, for example. I've also found it difficult to work alone. It's impossible to excel at every aspect, and a project usually has multiple dimensions. Perhaps sharing more detailed problems to discuss (like this one!) could unlock some progress. Though if none of these apply and there are no particularly negative feelings, then I think it's a matter of going with the flow until the time's right. ( ˘⌣˘) Start with project selection. Pick a tiny project and finish it because finishing small projects is how large projects progress. You have to build the Sistine Chapel before you can paint the ceiling. There are a lot of etudes on the road to Shostakovitch...most things are how-do-I-get-to-Carnegie=Hall? Finishing is a skill developed through practice. Practicing is a skill developed using appropriate practice materials. Limited scope and technical complexity are what make appropriate practice materials appropriate. And lastly, don't use boiler plate. Finished websites start with HTML not authorization frameworks and CI pipelines. Good luck.