Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I used to think like this, but as I worked on so many messy projects, I changed my mind.

Designing a robust/performant/reliable architecture right from the start is not "interesting", it is effectively impossible unless you have divination skills. At some point, your architecture will suck, and restarting from scratch is usually a bad idea, and that's when things get interesting. That is, fixing the mess you created, making something robust/performant/reliable out of something that is not, with the additional constraint of not breaking it in the process.

But you still need to start somewhere, even you know it will fail. It means you will essentially do a dice roll and hope for the best. Yes, the beautiful architecture you start with is nothing more than that. If you leave after that, not only it may not be cool for the ones who will inherit your mess, but you also won't get to see the hard (and interesting) part.

Of course, even though it will always be a dice roll, it doesn't mean your initial decisions won't matter. How fast will you fail? (failing fast is a good thing) How fixable your mess is? How will it fair after an army of monkeys tramples over the code? etc... These are questions experience can help you answer, but you won't get this experience by doing greenfield projects. You will get this experience by being in front of the fan as shit hits it.

So yeah, I understand the love for greenfield project. It is like a reprieve, where you can use that experience acquired during the time you were covered in shit, and try to make the best roll. To me, it is the comfort zone, but as often, the comfort zone is not the most interesting.



Eh, I've got 20 years in tech under my belt and I'm totally comfortable with everything I do being temporal. I'm not talking about NASA reliable-- I dont work on stuff where downtime=dead people, so that's a big caveat-- I'm talking about day-to-day manageable for the length of its useful life. It can be good without being perfect forever. It can even be perfect for a little while and good enough for a long while and still be worth it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: