Hacker News new | ask | show | jobs
by thom 6 hours ago
A software team’s job is to collaboratively learn an effective model for operating in a domain. They express that model and those learnings in code, tests and associated documentation. So on the one hand I wholeheartedly agree that pull requests and code reviews fatally undermine this process, but immediately recoil that we’re creating yet more secondary processes and artefacts to distract ourselves. This stuff should all be evident from your codebase. It’s not an extra thing. It’s not a bunch of commit messages or ADRs. If your codebase isn’t entirely self explanatory (both the what and the why) to both humans and AIs you’ve failed and will spend your whole life creating more and more process to manage that failure.
1 comments

Cheap branching for features and experiments, ability to rollback specific commits quickly, reading the commit message for the last time a line of code changed, are all incredibly important and made possible by distributed version control systems.

The current state of the code is not sufficient for modern software development.