Thinking like a designer is so important in coding. Designers spend most of their time observing a problem then deriving a simple, efficient patch. I'm always looking for ways to patch, by observing closely and listening to what others are frustrated with.