I never said nor do I believe that I originated the idea of simplicity, not in Git nor anywhere else. What I’m writing is more of a push against what I’ve seen in workplaces. I actually did watch my dev lead create five intermediate branches between my completed and tested feature and the master branch. This struck me as not only compulsive but almost mindless.
There’s a lot of compulsive behavior in software development, one reason I don’t call it engineering. One of the most common is speed optimization; people enter the industry in whiteboard interviews where they are told to write some super-fast hyper-optimized screaming fast code and they come away thinking speed optimization is the reason they breathe. They never learn how to think in design terms.
While I’ve been freelancing doing remote work testing has overtaken development as the reason to get out of bed in the morning, and some of the fanaticism I see around unit testing reminds me of the Cult of Cybele. Tests as design documents? Excuse me, I think this is my floor.
And now the notion of the team is replacing the idea of the developer who can take on responsibility for large projects; people like me who manage server and database in all their complexity are viewed as prima donna weirdos “stealing” responsibility. Funny, though, the job ads I read still seem to favor people who can work independently.
I think creating extra branches is dumb. That same dev lead to talked about “branch hygiene” and “technical debt” (I detest jargon) started with 20 unmerged branches and pushed it up to 130. There are probably 300 by now.
Today I had a response to one of my own from a guy who said that comments are indicative of bad code, as he defended early returns. I might have debated him but he was so nasty about it I just blocked him. Hard to believe people still say things like that.