It’s one thing to program software. It’s another thing to design it. Software architects find themselves at the intersection of these points, sifting through business requirements, system constraints, and team expertise to design and deliver high quality software. While many software design concepts such as patterns come into play, the hard parts are the things we can’t learn in classes or books: designing for the problem domain.
As a result, software architecture is both a scientific discipline and an art. It often requires you to reach beyond knowledge of patterns and practices, relying on your own intuition to design a solution. In this talk, Ben Ramsey explains how intuition plays a crucial role in his own approach to designing software. He gives practical pointers on how to tap into intuition as part of your software design process and how to combine it with rational thinking to be a better software designer.