Recently I had an email conversation with a guy (A) with whom I work on http://www.InternetPolyglot.com project. I was asking him if he could put more time on this project and he explained to me that he has a permanent work at a bank and also teaches at a university. Then I recommended him to keep teaching:
Me: In my opinion it's better to dump the boring bank application support employment than stop teaching. In this world (well, I can tell for sure about US) public speaking capabilities are worth not less, if not more, than engineering knowledge. If you know how to keep your students interested through the course of your lecture, if you make their eyes sparkling - it's a sure way to a more successful career, especially if you possess engineering knowledge. I understood it when I started teaching SQL - it improved my self-esteem and assertiveness.
And he was surprised:
A: Recently I was thinking about your point – public speaking. Yes, I agree that this can be useful. It can help to overcome some personal fears. But I can't understand: why could it be useful for software developer? We don't speak much on the public. Or do you mean general relation between people?
And here is my answer:
The higher seniority of software developer the more he/she speaks to other people: upper management, customers, business analysts, etc.
Consider this scenario: you and your fellow senior developer have different opinion on some architectural issue. The decision maker is stressed with time and give you both only 10 minutes to express yourself. Quite often the decision makers are not very much interested in technical details. Whose solution, do you think, will be accepted? The one that was presented professionally or the one that was mumbled?
Another thing is speaking to customers, helping your sales team to make a sale - it is always appreciated by management.
At a job interview, the higher your seniority level the fewer technical questions like "what are the input parameters of this or that method" you will get and the interview often becomes a free conversation.
All in all, it about a more successful career. Even as a software developer.