Singleton is a classic anti-pattern: https://en.wikipedia.org/wiki/Singleton_pattern#Anti-pattern_considerations
The name long predates the idea of "design patterns" too.
"Factory pattern" as in a function that returns new objects really doesn't need a name, does it?
On the other hand, when I first encountered unit tests, sometime in the 90s, it rocked my world, and not a day has been the same since. Much the same is true for all the topics on your list - except design patterns.
Yes, a young programmer would benefit from 30 minutes reading the web page on design patterns - but no more. There is no idea in Design Patterns that I couldn't explain to a mature programmer in a single sentence. Try explaining, say, how Git works to someone in a single sentence!
Nothing wrong with "Design Patterns" but they are way oversold.
Here's my public repo: https://github.com/rec/, nearly all "self-improvement". Do I need improvement on my self-improvement?