You would design software because you want write better software than you are using.