A good user experience will make or break most software projects. Building software that people will want to use, want to keep using, and love the developers for is a challenge made easier when you understand the basics of UX design. Even if you never touch a single line of HTML or JavaScript you are still creating a user experience for other developers when you have an API or public methods on a class. The field of user experience design is full of good and bad parts. There is an abundance of really fantastic ideas like mental models, task based user interfaces, and eliminating modes. Unfortunately, these good ideas are mixed in with bad and downright horrible ideas, like personas and mood boards. You will leave this presentation thinking differently about what makes great software, what design techniques will lead to great user interactions, and what to avoid so people are not annoyed using your products.