So, you want to be a more productive coder?
Yeah, yeah, design patterns and data structures and all that are important. But the truth is when it comes to building systems those will only get you so far.
Look at it this way: a great artist knows how to use brushes and paints and tools (but typically only uses a handful in their day-to-day work), but knowing how to use brushes and paints and tools does not make you a great artist.
“Coding” is all people seem to think about these days, but creating non-trivial software in a reasonable amount of time without going insane requires four skills: