Hacker News new | ask | show | jobs
by didibus 1346 days ago
Knowing how to design and structure maintainable code is a must for any successful code base to remain manageable over many years.

Clojure, in the hands of someone that knows this, works wonders. It gives your team 10x productivity, safer more correct code, that's simple to extend and grow over time, keeping your velocity high and your tech dept low.

But if you don't know how to leverage it's strengths, what best practices to follow, you can end up in a mess like that.

And this is true of all languages honestly. I've seen this for C++, Java, JavaScript, C#, Scala, all kind of code bases that suffered this same fate, with 100% team attrition, and all kind of other issues.

I say this from first hand experience, 6 years on a team that transitioned to Clojure, in that time the team rotated fully twice, during the pandemic it had 100% attrition, even I left (working on another team), but all the new developers, even though they have zero Clojure experience, had no issue understand the code base and start making improvements and building new features, velocity saw no impact whatsoever. You get the usual some of them would rather it be something their more familiar with, others are loving it, some don't care either way. But no complaints about the code base itself, no talks of spaghetti code, or challenges to debug anything, or understand what's going on.

Basically don't expect Clojure to save you from yourself, it's an asset when you know what you're doing, not a safeguard when you don't.