Some good points about why programmers should not do the design of your system.
Another train of thought: “Within the ridiculous timeframe Ive been given, I cant do that and the 20 other things youre going to want me to do.” (From the article) This is true for many programmers, but also not true. I find many programmers too optimistic about what they can achieve in short amounts of time.
Someone I know once told me that the most frustrating thing with IT staff isn’t their inability to peform, but their tendency to promise, but not completing on time. This was from someone completely illiterate to computers, and looking strictly from the customer/user side. I think one of the biggest challenges is estimating time, but maybe that will come with experience.