Technology isn't only the way of the future, but also the way of today. With electronics, computer chips, transmitters, and so on finding their into the most common of household and office environments, most people find that they really don't know very much about the technological advances they use. They need their phones, cameras, computers, and c...

Jeff Atwood

Q: One of the books you mention on your blog is Alan Cooper’s The Inmates Are Running the Asylum. When I read the book, I must admit to being a little bit offended by his description of software engineers as loving complexity. A: But they totally do! The book is completely correct! That’s one of my lessons to my fellow programmers: Stop trying to be a great programmer, and focus on trying to be a great human being. How do you build things that human beings can actually use. I’m not saying you have to fall in love with your fellow human beings—they’re a lot harder to love and are a lot more erratic than you’d like. But you have to appreciate that, if you want people to use your stuff, you have to understand human factors. You have to appreciate that you need to ask: What’s the prior art on this? How are other people doing this, from a design perspective? That's absolutely critical to being a great programmer.