Behind every house, there is a blueprint. Behind every blueprint, there is a designer who created the blueprint. This designer must have taken the time to carefully craft and design the beautiful home. Just like this designer, software engineers have taken the time to carefully design a layout for their software and made it as beautiful as those blueprints. These blueprints can range from being incredibly detailed with each line of code having a reasoning to it or very simple to follow to where even those starting out can easily follow along with the logic.
From personal experience, I like to start with creating a visual of how each component in my software is going to interact with each other. For example, if I am working with databases and collections, I like to have a visual of the collection, with all the required components, and see how this collection will interact with the rest of the software. Most of the time, I like to keep the logic as simple as possible so others can easily follow along and understand how everything works with one another.
House designers do not only come up with one blueprint, they create many others to show to their customers and have them pick which one they love the most depending on their personal preferences. This same idea applies in software engineering where behind every software, there were different variations of it. Some structural changes, some logic changes, and some behavioral changes.
Speaking from personal experience, while I do enjoy having a more simpler software design, there are moments where more is better because structurally, it could make more sense. For example, when working on individual projects, I tend to include more details, create a more structured software because it helps me understand the software better and I am able to pinpoint certain areas of my software easier since everything is a lot more organized thanks to the design pattern I picked.
In the end, most of these blueprints end up being beautiful houses. Most of these software design patterns end up being developed into amazing software that is great for both developers and customers. Design patterns help tremendously with creating beautifully executed ideas and incorporating these design pattern practices can help create a seamless software.