Great insight from Jeff Atwood:
One of the (many) unfortunate side effects of choosing a career in software development is that, over time, you learn to hate software. I mean really hate it. With a passion. Take the angriest user you’ve ever met, multiply that by a thousand, and you still haven’t come close to how we programmers feel about software. Nobody hates software more than software developers.
This is so true it hurts. An additional side effect of being a Program Manager is that you become extremely critical of everything. Parking meters. Elevator buttons. Anything that isn’t as usable as it should be. Not that I could do any better at designing these things, necessarily, but they still anger me, and much more than they used to now that design is a part of my daily work life.
Another great quote from the article:
Hardware companies don’t generally do software well. Digital camera companies excel at building digital camera hardware. Software, if it exists at all, is an afterthought, a side effect, a checkbox on some marketing weasel’s clipboard.
This is true not only for consumer electronics like digital cameras, but also for other hardware that you might not think of as running “software.” Think of your microwave. The ice dispenser on your fridge. Your washing machine. Your car’s on-board computer. All of these are running software in some fashion most likely, and they all kind of suck.