Just on the topic of metaprogramming I found this video to be extremely good for explaining when to consider using metaprogramming for things and why it is an easy “trap” to get caught in for things.
I think probably most telling bit is just how few instances there are of metaprogramming in the Julia standard library.