I'm not talking about architecture btw but the levels below it.
I have 3 years of work experience and I feel that I still hack things together till they work. Its the same as when I started programming. What did change is that I do it much faster and with fewer mistakes.
I read Clean Code, Refactoring, DDD and others. My impression is they just provide patterns to apply in existing design/code, they don't provide guidance in creating the design in the first place.
I looked for online courses but none looks promising.
Did anyone experience the same issue and found helpful resources?
The key to writing better code is to write more of it, then refactor it once you've discovered what actually works to solve the problem. Spend time making sure you document it, and don't ever take pride in "clever" code. Pride go'eth before the fall.
Always be willing to throw code away, and be willing to rewrite it, at least once.