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

This notion of code being "done" is the root problem. This idea that you write something and ship it and that's over is wrong. Code is never done, it is almost biological in its emerging complexities. The current code is the running manifestation of everyone's understanding, of the architecture : it will and must change.

Viewed through that lens you can see;

* estimation is hard, as you are never really done.

* software has a very high maintenance cost, plan for it.

* architecture and design are important, longer term : spending more money on things with longer value life just makes sense.

* Interfaces are important and allow for rewrites on a smaller scale.

* you will always be releasing: focus on CI and devops to take the grind out of that.

Rewriting is a form of refactoring I guess: It's like chopping a leg off or something. One thing I like about microservices (or rather, strict boundaries) is that you can rewrite the worst part but keep the rest going.

Yeah and oh man I hate the "this code sucks" culture :(



Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: