Architecture in software is hard to even define but here are some popular definitions
"Parts of the software that are hard to change later"
"The decisions you wish you could get right early in a project"
"Architecture is about the important stuff. Whatever that is"
Clearly, architecture is important, and it is even more important the bigger your system is
Nailing the architecture is hard but AI can definitely help us with that
One of the good things is that with AI, fewer things are "architecture" since things are way easier to change now.
We can never nail architecture completely but we can still nail some of it.
Some of the architecture we can identify early with experience or analysis. Good news is that LLMs help with both. They are great for the analysis part and have no problems with going through a lot of text and specification. They also have a lot of context from a ton of systems and have an idea already on what kind of features are hard to change later. So having a chat with AI when starting a project is very valuable for identifying architecturally important decisions and structures.
Then some of that we just can't know beforehand. So for those cases, just standard software engineering practices (that the AI knows quite well) are very valuable. For example, encapsulation, single-responsibility principle, separation of concerns, and so on
It's very useful if you can identify clear cutoff points and kinda lines around different parts of the system and then make those separate, independent parts.
Systems thinking also helps with this a lot. I have some other posts on that that you can check out.
I have more thoughts on the topicc but the post is already pretty long. Let me know if this is interesting/useful and you'd like to hear more