We usually worry about coding standards, ethics, latest technology etc. But at times we tend to ignore our writing skills and communicating skills. Do we need to pursue a communication skills courses? Which ones do you prefer? Any online courses available which you might have tried?
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
Writing skills and communication skills are incredibly important. There's a quote by Karl Fogel http://www.producingoss.org "S/he who communicates the best, has the most influence in a project".
In other words, you might be a nova-hot programmer, but if you can't communicate your ideas and changes to the rest of your team, your contributions won't make it.
As Jon stated you don't need to learn from a course, but I'd recommend at least learning from someone who is an expert in professional writing. They can help you shape your writing and once you get into a good habit you'll be fine for the rest of your career. For example I'm currently writing a technical book and both my editor and an experienced author have helped me immensely in changing my written prose into something that readers can hopefully learn from.
Don't neglect the other types of communication, there are still many people who prefer phone calls, in person meetings, IRC or other forms (we all absorb information differently). Always try to find out the preferred method of the people you are working with.
The ability to write and communicate clearly is important, how you picked up that skill (course, self taught, mentored) isn't.
Amazon is chock full of books about it and personally that's the way I'd go as I think it's useful to have something you can dip back into every now and then, rather than a course which can fade in the memory if you don't get to put it to use immediately.
I would focus more on communication in terms of often used documents whether in the general populus or specific to your company. Wireframing, prototyping, flowcharting, etc. can make a huge difference to the project. Many are leaning towards user experience design where you communicate user needs in various ways such as with personas, concept models, usability tests and reports, and so forth. And in terms of web development at least there's also content inventories, site maps, and screen designs.
I imagine a lot of it depends on your role within the company. You might also consider slides, interactive demos, video tutorials, context sensitive help, or tutorials. Then there are a whole host of technical writing documents.
I find having a technical writing background helps my development in that I can help clarify communication between programmers, designers, users, and other members of the team such as business analysts and marketers. Being able to translate between technical documentation and everyday language with a newbie can really help.
Business communication can be very important in a co-operative environment where team-building is desired. Even something as simple as critical thinking and debating can help draw out a project and get everyone contributing and on track.