I guess context matters. If it's a brand new system, then you probably need dev's with experience and who can design the new system with all the client's current and future requirements in mind. If you need devs to integrate with a variety of systems (esp. old legacy enterprise systems), then maybe you need dev's with experience with various environments, systems, hardware etc. Where the ability to see multiple angles of a certain problem are more valuable than being able to design the perfect interface.
Then again, I'm just typing off the top of my head so maybe I'm completely way off.