One of the characteristics I find interesting is how poor most developers are when it comes to writing. Don't get me wrong growing up English class wasn't my best area of study (although I did manage to avoid Summer school). Also back when I was in school most people associated programming with math. After all most software was being written for science and engineer and in college my major was Computer Science. All of which at the time was fine, but today more then ever being a software engineer is really about Writing code - not developing algorithms and executing calculations in the computer.
Modern development with tools like .NET is about writing a solution. XAML takes this one step further, such that the logical paths aren't even available, XAML is primarily just specifying what you want available. Yet seemingly regardless of the implementation language most developers write poor documentation. Now as a published author both for magazine and book, I see these two tasks as extremely similar and thus I wonder - is an unwillingness or percieved inability to document their code and project something that should be difficult for a talented software engineer.
To write code you need: to type, need to generally put your statements in a cohesive order, follow a design, have a syntax or grammar that must be followed and have your work interpreted (either by a compiler or at runtime).
To write documentation or articles you need: to type, need to generally put your statements in a cohesive order, follow an outline/design, have a grammar or syntax that should be followed and have your work interpreted (either by an editor or by another human).
These tasks seem completely related, so why is it that some developers I've worked with in the past who are excellent at writing code can't seem to write a cohesive paragraph? Why aren't they through design documents and functional specifications and comments building the necessary writing skills?