I agree wholeheartedly with this. Everybody needs a &^%$ job once in a while to reset their empathy scale.
Walmart does something interesting for their software development process. Say a developer is working on a warehouse automation system -- that dev. is then trained and works in the warehouse for a month. Same goes for checkout/cashier, or customer service, or whatever. You WORK that job for a month and you'll understand just how trying it can be to struggle with lousy software on top of a sometimes difficult public. You'll know the trouble spots and the workarounds, and can take that education back to a nice safe quiet desk where you can then go on to help solve the problems.
Walmart does something interesting for their software development process. Say a developer is working on a warehouse automation system -- that dev. is then trained and works in the warehouse for a month. Same goes for checkout/cashier, or customer service, or whatever. You WORK that job for a month and you'll understand just how trying it can be to struggle with lousy software on top of a sometimes difficult public. You'll know the trouble spots and the workarounds, and can take that education back to a nice safe quiet desk where you can then go on to help solve the problems.