I'm studying computer science, but I keep getting stuck worrying about whether a project is worthwhile, unique enough, or advanced enough. I spend so much time comparing ideas that I never actually begin. How can I choose something, start working on it, and learn from the process without feeling like I'm wasting time on the wrong project?
3 Answers
The time spent waiting for the perfect idea is already time you’re not spending building. Pick a small project with a clear scope and treat it as practice rather than a portfolio-defining masterpiece. Most early projects will be rough, and that’s completely normal—the useful part is finishing them and learning what to improve next.
This sounds partly like anxiety and perfectionism rather than a programming problem. Try setting a short decision limit—for example, choose an idea in 15 minutes—and define success as completing a tiny version. You can always revise or abandon it later; starting gives you information that thinking alone can’t provide.
Assume the first version will be mediocre. That isn’t a failure; it’s how you get feedback and develop skills. Choose a practical problem you personally encounter, keep the first version small, and let the project become more ambitious only after you have something working.
A useful approach is to ask someone you trust what they would find interesting or useful, then build a simple version for them. Having a real person and a specific need can make the choice much less abstract.

That makes sense, but I still struggle to choose something when I don’t know whether it’s a good idea. Should I stop worrying about making it impressive and focus on learning one new thing?