I found this post interesting. Eric Gunnerson makes some salient points about the realities of writing computer books. Some of the comments add some more things to chew on. My interest in this stems from an experience I had a couple years ago.
When I was first learning programming in VB6 about five years ago, I monitored several newsgroups, mailing lists, and other online forums. I soon found myself being able to answer many of the questions that were posted in the groups, especially in a mailing list that was sponsored by Wrox Press. Some people appreciated my responses. Here’s a sample response that I’ve kept because it was very nice.
I would like to take a minute to thank you for the help and advice to you as well as the others who have sent responces to me. I have gotten more help from this one post than any other forum or search and with less arrogance in the responce. The last forum that I posted on got only one responce and it was rather rude in the making. “If you don’t know how to do this simple thing, you don’t need to be programming!” A real nice way to recruit people to learn or encourage them to do this huh??
Once again, I thank you for your time and responces. I have been in the IT business for over 8 yrs. and am glad to know that there are still some people out there that are willing to help rather than hinder. THANK YOU!!!.
Some time later, I received an e-mail from a Wrox representative trying to recruit me as either a technical editor or even possibly to write a book. After my initial skepticism that it was a come-on, I began mulling over whether I might want to help out with the writing of a computer book. Unfortunately, Wrox went into bankruptcy a few months later. It’s likely this e-mail was an attempt to get some more business. Wrox had also put a whole series of “handbooks” on sale for about $100. I convinced my boss to buy the set. The quality of the series was hit and miss, but the hits made the set a bargain.
(Note to wife: Yes, dear, I know I’m digressing.)
I’m sure I’m not alone in fantasizing about becoming a “famous” programming-book author and being recognized at usergroup meetings region-wide. Becuse of this pipe dream, I’ve always had an interest in Scott Mitchell’s blog and other posts that discuss writing.
What piqued my interest in Eric’s post was the following section:
Writing is a skill, and over time you should be able to develop techniques that work will with your target audience.
Good ways to practice:
- Write a blog. Book writing is not like blog writing, but it’s a good, cheap way to practice, and a great way to get quick and easy feedback.
- Write articles for an online programer’s site – something like CodeProject.
- Write an article for MSDN
- Answer questions on newsgroups or message boards
Strangely, the most important of these – the last one – has the least to do with formal writing. But it’s the most important, because to write a good book you need to have a deep understanding around what is hard (ie what is hard to understand, what is poorly documented, what is confusing, etc.) *and* you need to be able to explain things in ways that people understand.
Of course, I’m sort of doing the first suggestion (writing a blog). The next two suggestions are really the same. CodeProject, of which I am a member, has a lower entry point, since anybody can write an article.
The last suggestion is what resonated with me. Before I started programming full time, I spent 9 years doing business/technical support. I’m blowing my own horn here, but I can’t count the number of times I heard somebody say “I’m glad I got you!” when I took a call. My employer cultivates a close business relationship with our customers. We only have a few hundred customers, so you get to know the people and the cultures at different companies. I had a knack for being able to adjust the conversation to the level of the user. I always received good reviews from experienced users and users who were brand new to the system.
Adjusting to the user’s level is not as easy as it might seem. It’s simple to say it, but not so easy to put it into practice. Years ago, I learned about the four levels of competence. With regards to customer service, you typically want to have the support rep at one level higher than the customer’s level. Having a customer who is consciously competent talking to a support rep who is still consciously incompetent is not going to be very productive. The same problems can occur in user forums when people at different levels are discussing a topic.
When I read Eric’s comment about the importance of being able to understand a problem and then describing it in terms that are at the level of the audience, I thought to myself, “I have those skills. Maybe I can write technical articles and books.”
All I need now is an interesting topic and time. When I come up with both of these things, I think I’ll still be keeping my day job. In reality, when I come up with enough time, I’ll probably be retired and will have more interest in going to the golf course than writing a book.