Websites carry more than information. They carry more than ’messages’. They bring people on different missions with different questions and different expectations — as well as ’bots on different missions with different requirements.
Like a bridge, a website needs to do more than look good. It needs to meet a range of real world requirements, e.g. speed, security and compliance. Although aesthetics is important, a good technical design can deliver more aesthetics while also improving search engine placement and conversion rate.
Is it really "working" if it needs constant maintenance? One characteristic of a good technical design is that it does not need a lot maintenance. That’s the difference between programming and engineering.
Not all real world problems require a design solutions, only the ones that we don’t want to keep solving over and over again. When programmers start creating permanent solutions, they become "software designers" and "software engineers".
A computer language generally frees the programmer from having to deal with a lot of real world complexities. This allows the programmer to create other complexities. Sometimes the results are spectacular. Sometimes they are not, but as it turns out, being free from real world complexities does not always make them go away. When a program runs out of memory or bandwidth, or when a development project runs out of money or manpower to deal with the self-imposed complexity, the solutions often begin by reviewing the design.
A good design manages the complexities and makes the coding easier. A bad design fails to manage the complexities and makes the coding harder. Good design is like good management. Both can be instrumental in solving real world problems and delivering better results.
The Seri Wawasan Bridge in Thailand connects the government district to residential districts. It spans Putrajaya Lake with an unusual, asymmetric suspension design.
This bridge is a beautiful example of design engineering — safe, strong, and visually arresting.