For me the biggest thing is always to question what I think I know. It's easy to get into a local maxima. You often need to take one step backwards to take 2 steps forwards.
In practical terms that means that you need to change the way you write code. And that means practice. Katas are good, but you have to force yourself to do it differently than you would normally.
This code is clearly insane. You would never do it this way in production. Or would you? In reality, how do you know what the advantages and disadvantages are if you never try it?
But small toys and katas are not enough. Architecture and design requires practicing on a big scale. That means side projects that you have complete control over. It's unfortunate, but this stuff takes time. If you like programming it's not bad, though :-)
Always get ideas from other people. Read books and blogs to get more ideas. Then go nuts. The hardest part is to have to courage to absolutely suck. Picking insane things to do will help with that because you don't have the feeling that it must turn out good in the end. It's insane.
In practical terms that means that you need to change the way you write code. And that means practice. Katas are good, but you have to force yourself to do it differently than you would normally.
Here's an example of something I did recently: https://github.com/ygt-mikekchar/es6-monad-challenge/blob/ma...
This code is clearly insane. You would never do it this way in production. Or would you? In reality, how do you know what the advantages and disadvantages are if you never try it?
But small toys and katas are not enough. Architecture and design requires practicing on a big scale. That means side projects that you have complete control over. It's unfortunate, but this stuff takes time. If you like programming it's not bad, though :-)
Always get ideas from other people. Read books and blogs to get more ideas. Then go nuts. The hardest part is to have to courage to absolutely suck. Picking insane things to do will help with that because you don't have the feeling that it must turn out good in the end. It's insane.
Hope that helps!