> You can launch shit software, as long as its just not-shitty enough to lock-in a few lucrative clients early on. This validates your idea and allows you to hire the "good" engineers to build the """good""" software, or at least more scalable version, going forward.
In my decade and a half of software engineering experience, this has happened exactly once - we cobbled together something to validate a concept, then completely fucking scrapped it and built it from scratch.
I honestly don't know if it'll ever happen to me in my lifetime, and I wouldn't bet on it. Supporting the "shit software" for the lifetime of the business isn't something I'd want to do.
I've seen just as many examples of well-written software failing to meet the needs of the business as I have of "shit software" that couldn't be cleaned up. This is doubly true in growth startups, where your programmer headcount grows fast enough that by year three you're producing more software in a quarter (or month) than you did in your first year.
In my decade and a half of software engineering experience, this has happened exactly once - we cobbled together something to validate a concept, then completely fucking scrapped it and built it from scratch.
I honestly don't know if it'll ever happen to me in my lifetime, and I wouldn't bet on it. Supporting the "shit software" for the lifetime of the business isn't something I'd want to do.