To me, the mechanics of writing can be taught, but no writer will become anything without being able to easily take the role of the person reading. And it is something that is rarely put first over other aspects of writing.
Regardless of whether you are writing non fiction/erotica/poetry etc..
With my job I freelance for a number of different places, and each has their own 'target market' - the first hurdle, before even beginning to think of an opening line, is working out who that person is, their age, their interests, their lifestyles etc. From there, it's easier to work out when they are likely to get bored, what is likely to make them laugh/cry etc.
Whatever type of writer you are, and at whatever level you are at, it's a lot easier to write if you are writing FOR someone. Unfortunately it's something that is much harder to teach than grammar.
Thats my thought anyway.