

Good version control hygiene is important. My most recent job we were pretty good about commit messages for the PR, and then squashing that into a single commit when putting it on main. As you say, avoid unrelated things going together. You don’t want to have to revert a whole major feature because your “I’ll just fix it here” broke something.
There’s a guy one of my old coworkers has been complaining about who never writes anything useful in his commit messages. It makes the git log useless and the code reviews harder.
As for abstraction and such, sometimes it feels like it’s just coupling unrelated things together. It can be annoying when it’s like “I want to change this…and it’s used in 17 places for some reason. Guess I’ll check if all of those can handle this change, or this will be the one weird place that’s different…”
I also worked with a guy that was a big fan of having two dozen one line functions. Monster functions are often bad, but a whole separate function like get_last_item(stuff): return stuff[-1] can be excessive.
Is he showing any of his work, or is he just making stuff up? Seems like he’s just making stuff up.
Also, everyone should look at the “wealth to scale” webpage: https://dbkrupp.github.io/1-pixel-wealth/ . Humans are not good at scale, and this helps visualize it.