Time and time again I hear statements such as:
Developers just can’t design!
I think this point of view is mistaken. Not only does it state that software developers have a somewhat innate inaptitude for design but to some extent it also implies that for developers design is something not worth comprehending.
„Design is not just what it looks like and feels like. Design is how it works.”
There’s a huge misunderstanding in this mindset: Design is not about painting. Design is not about drawing garish buttons that end up being arranged haphazardly in your web app. Design is not about wielding Photoshop. You don’t have to be a graphic artist to be a designer (though that doesn’t hurt particularly, either …). Design first and foremost is about user experience and ease of use of a product. This does include aesthetics but at the same time is so much more: Usability, simplicity and elegance.
Which is more, design actually should be quite appealing to developers since design fundamentals are based on hard science. Knowing about essential maths such as proper ratios in terms of design is just as important as an intuitive sense of aesthetics.
Most importantly though, knowing about design will not only broaden your horizon but it will also make you a better developer. Most developers take pride in their software designs but seem to be rather negligent when it comes to the user experience of their software product. In my opinion, user experience is all that counts in software design and software development. If an application sucks more often than not it does so not because the underlying architecture or object model or whatever is deficient but it sucks because of a crappy user experience. Software doesn’t just end at object-oriented models, ER diagrams and elegant software design patterns but extends to user interfaces and a seamless user experience.
So, if you’d like to go about learning about design, I’d recommend Hack Design for a start.