Architecture 101: Thinking about Design
Architecture is about many things but I always believed * Design * was in the heart of architecture. However how we design something? There are many aspects to cover. In order to do better designs you need basically 3 things: * Problems to exercises your design skills. * A continuous learning process: Knows your tools, technology and always look for new approaches and techniques. * Review and Feedback process which could be done via a series of practices like Design Sessions, Design Review, working POCs. It's also imperative to know your tools, what features do you have in your disposal, what techniques people often use, what principles can be applied and are often good ideas like Isolation, Testability, Debugability and which ones are smells or often anti-patterns like using Cassandra as a queue or Reflection in Java without caching . There are always macro and micro concerns you need to take into account. At the end of the day, small things can make a big difference in d