Hacker News new | ask | show | jobs
by cassianoleal 51 days ago
> Writing pretty code or arguing about some implementation detail never really mattered.

True, in the same sense that sharpening your tools if you're a trader doesn't matter to your customers: what matters is that the job you deliver is good.

Making sure you put all electrical wiring in conduits rather than buried in plaster is not what most customers care about, but it will mean easier repairs and quicker improvements in the future.

Writing good (not necessarily "pretty") code and arguing about implementation details means you will have an easier time delivering your work, both now and in the future. You have a better chance of delivering code that can be maintained and understood by yourself and others, including the people who come after you.

Furthermore, when done right, these discussions keep a trace for understanding bugs and for code archeology when in the future you're trying to understand how decisions were made and the tradeoffs considered, which could massively help refactors, rewrites and decisions to drop certain parts of the code base.

Of course, you can sharpen a tool too much or at the wrong angle, or you can make a mistake and fill up your conduits with plaster, but you stand a much better chance of ending with a better, cleaner, more maintainable and understandable product if you do practice those steps than if you skip them altogether.