Why Do Developers Love Starting More Than Finishing?

Why do developers love starting more than finishing?
There is something strangely exciting about opening a new project.
A blank repository. A clean architecture. A fresh idea.
Everything still feels possible.
You imagine the perfect folder structure, the perfect database, the perfect UI. You think about all the things this project could become.
There are no bugs yet.
No technical debt.
No confusing code written six months ago.
No decisions you regret.
Just possibility.
But then you keep working on it.
The idea slowly becomes a real product. And reality is much messier than imagination.
The requirements change. The architecture doesn't work exactly as you expected. Small bugs turn into bigger ones. A shortcut you took two weeks ago suddenly becomes a problem. The beautiful system you imagined becomes a collection of compromises.
And eventually, you reach the most difficult part:
Finishing.
Because finishing isn't exciting in the same way starting is.
Finishing means dealing with everything you avoided while building.
It means fixing the boring bugs. Cleaning the code. Writing the documentation. Testing the edge cases. Making the thing stable instead of just making it work.
Maybe that's why starting feels so much easier.
Starting is imagination.
Continuing is persistence.
But finishing is responsibility.
And perhaps, somewhere between the excitement of a new idea and the frustration of an old project, we discover that building software isn't really about how many things we can start.
It's about how many things we are willing to stay with after they stop being exciting.