I'd say that we're developing software in a world where the front-end of an application is probably the most important. The increasing ability for a user to access and interact with software almost instantly in the cloud is making the first few minutes of user interaction crucial in determining whether the application will get any further attention, making UI design and the "intuitiveness" of the application extremely important factors.
As a developer, I've never really appreciated the important of the design of my applications. I usually write the code that works, and take advice from either a graphics designer or project leader on ways to improve the usability / look of the app. But maybe this isn't the way to develop any more. I can't help but wonder the time and resources wasted on a developer being told by a graphics designer to move a button 2 pixels to the left (for example) when, if that developer had a basic understanding of software front-end design, they'd be able to make the decision themselves.
I can understand large design decisions, such as the overall look of an application and the global fonts used etc, are all jobs that should be done by someone with the appropriate knowledge of such an arena, but should we, as the developers of the front-end, know enough of design theory to be able to make smaller design decisions by ourselves?
Should the front-end design of software and some basics of user interaction be taught alongside the current programming package?
What level of knowledge should a developer expect to have in regards to user interaction & design?
- Should an understanding of design hold a higher ground than it does at present in the context of resumés and qualifications?
The subject is somewhat of a hobby for me, I find it fascinating studying users' interaction with a program, but it should it be part of the core of software development?
Just to clarify, when I talk about "design" I'm talking about front-end design, rather than the design of the software architecture (something which every developer should understand).