Interesting interview by Om Malik:

Om: If you were to give advice to younger designers, web developers, web app makers, what would you tell them?

Erik: Learn as much about our culture as you possibly can, by reading, by traveling, by involving yourself in things that go on. But don’t become an artist. Don’t think, “I’ll do it intuitively.” You have to learn if not to code at least to appreciate code, to understand code. Because code is what nuts and bolts were a hundred years ago.

If you don’t know anything about mechanics, you can’t survive in this world. If you don’t know anything about how a computer works or code works, as a communicator, which is what a designer is — the interface between machines and man, that’s what we are. We are the interface, we interpret what the machine says into visible language. If you don’t understand how the machine works, you’re going to be laughed out of the room by the engineering guys, because you can’t communicate with them.
Find the full text here

Inconsistency causes confusion, because things don’t work the way the user expects them to. Forcing users to memorize exceptions to the rules increases the cognitive burden and causes resentment. Attention to consistency is important for instilling confidence in the product, because it gives the impression that there is a logical, rational, trustworthy designer behind the scenes.

For desktop and mobile applications, you should aim to understand and conform to the user interface guidelines for your operating system or platform. Consistency with these standard conventions reduces the number of new things a user needs to learn. Donald Norman