In a recent interview, Joel Spolsky (the co-founder of StackOverflow) declared that the three things he would advise new programmers to learn are economics, writing and C programming. At first glance, that might seem like a curious choice, yet digging deeper soon reveals the wisdom of those words.
Additionally, an understanding of economics would help many freelancers to better market themselves (or at least have a better appreciation of the time they spend on something in correlation to the value it brings a client). And it would help them (and web devs in general) convey the value that a successful website can bring to a business when a client turns up with the aforementioned unreasonable demands.
Spolksy also advises learning writing (as well as communication in general), because “essentially, the most successful people are the ones who can explain their ideas the best”. He’s right! Communication is a vital, yet often underrated skill. It doesn’t matter if you’re an ace programmer, if you cannot communicate your ideas with the rest of your team, then you can fugged about it.
And that’s not just true of programming, but of life in general. As an editor I have to deal with a reasonably large number of article pitches. The ones that are clear, articulate and well thought out are the ones that move through fastest.