Perseverance and conditioning yourself to be comfortable with (or even excited/inspired by) long periods of unfinished-ness are core competencies in practically every demanding project I've embarked upon - not just software, literally
anything that can't be started and finished over a weekend.
A WIP is often largely indistinguishable from a complete and utter broken disaster. When the project necessarily takes a long time, that work-in-progress state can start convincing you (and your peers/family/friends/onlookers) that it's not a work-in-progress but a total failure. The only difference between those two realities is abandoning it vs. finishing it.
Some (most?) people lack the grit to get through that trough of "unfinished-or-failed?" ambiguity.
That's a lot of text trying to describe what I've found is the real substance behind "real developers ship".
And somewhere in all this, you still have to have maintain enough perspective to know when to cut your losses.
As a developer, and builder of things in general, I have hella respect for anyone who does such projects.
A WIP is often largely indistinguishable from a complete and utter broken disaster. When the project necessarily takes a long time, that work-in-progress state can start convincing you (and your peers/family/friends/onlookers) that it's not a work-in-progress but a total failure. The only difference between those two realities is abandoning it vs. finishing it.
Some (most?) people lack the grit to get through that trough of "unfinished-or-failed?" ambiguity.
That's a lot of text trying to describe what I've found is the real substance behind "real developers ship".
And somewhere in all this, you still have to have maintain enough perspective to know when to cut your losses.
As a developer, and builder of things in general, I have hella respect for anyone who does such projects.