Software engineers don’t learn about you, the customer
ByI was trying to figure out today why most of the softwares we use everyday aren’t really customer oriented. I mean, I’m pretty sure 50% of the softwares you use do the job, but aren’t really that pleasant to use. So why it that? Well, the answer is quite simple: most software engineers don’t learn about building customer driven solutions at school, they just learn to build more efficient programs.
I’d say 75% of software engineers work like the customer was their own computer. Is it because you deal with computers 90% of your work day that the product you deliver is for the computer itself? No, there’s a third layer there and it’s called the customer. It’s easy to forget who you really work for when you never see its face. It’s also really sad because when you hear programmers talking, they’ll usually talk about the nice algorithm they’ve used and how efficient the code they’ve written is. This is all OK, but you’ll rarely hear a programmer talking about the great user experience he has managed to provide. I know programmers who still don’t believe in graphical user interfaces and who think we should still be using the old command line. That is not understanding customers’ needs and that usually ends up with softwares users hate to use.
Fortunately, this is slowly starting to change, as customers expect more and more from softwares and that is also why Microsoft is struggling with end users at the moment. This is great news and that will eventually force schools to not only focus on the technical side of computing, but also on the end user experience.
As a software engineer, I try to concentrate a lot on the user experience. Some purists will say performance and optimization is more important but I simply say do both. As a customer, keep asking better software!

