As an architect, you often come across situations where you pause and say - oh this could have been done in that way. In the previous statement, words ‘this’, ‘that’ and ‘situations’ can have multiple meanings and its spectrum may well extend your imagination by many times. You only realize that when you experience it.
Situations could be any, for example, when you go through someone else’s work related to some framework which has a specific intent, or you go through the class hierarchy diagrams for a software which is already built, or you have just developed something complex with all your mind, or you are contributing to something that’s on going and so on. I basically want to point out to the planning phases of any kind of software development life cycles and realizations of possibilities associated with it.
In the software industry, especially when you are playing a technical role, you have many possibilities to do a particular task. But there is always that one way which is the best way to do it. Best way - can mean many things, but the first thing that matters is performance. Almost entire IT industry churns out profit by optimizing the performances of their systems and softwares, while providing services to their customers. Everyone in their backend is aware of it, and thus, the best way is followed by 2nd best way and then 3rd best way and so on.
Apart from performance, there are many other aspects to accomplish a task in the best possible way. Possibilities are tremendous.