Have you ever noticed how most technical authors can be divided into one of two camps: either they write books geared for beginner/intermediate developers, or they write for the upper-tier of developers. Take, for example, someone like Don Box. Don has written a plethora of books on COM and the underpinnings of .NET, books clearly aimed at advanced developers. I have a hard time imaging Don would write a book titled, Write Your First Visual Basic .NET WinForms Application!, and for good reason. On the opposite end of the spectrum, consider Wallace Wang's impressive list of For Dummies books. Here is a prolific author who has written dozens of books for beginners.
It seems to me that when choosing a career in technical writing I think it is important for the author to ask himself an important question early on: “Do I want to be an expert for an advanced topic, or do I want to write 'howto' books for beginners?” Choosing a particular direction can lead to better noteriaty among the group you are writing for. When you say, “I'm reading a book by Don Box,” people know that you are an expert in your field. So, what would you rather do? Write for experts or write for beginners? There are advantages and disadvantages to both.
If you are writing to become known as an expert in a particular field, then clearly it would be more beneficial to write for an advanced audience. Authors who use books as a means to publicize their skills for consulting jobs or resume fodder would do best, in my opinion, to pick a specific topic they enjoy, become an expert, and write highly targetted books on said subject. The downside to writing for advanced developers is that, sadly, there aren't very many of them. This, of course, means fewer sales. Writers that rely on techincal writing as their main source of income would, I imagine, do better by writing for a larger beginner-level audience.
There's also the enjoyment factor of it all. Do you like explaining technologies to people who are just starting out learning about said technologies? Or do you view that process as tedious hand-holding? Is it important that your peers view you as an expert on an particular topic, or could you care less if you're known as “that guy who explains things to newbies?” Personally, I prefer teaching beginners. There's nothing as rewarding as seeing someone new to a technology, and being able to help them explore the new territory. Seeing the lightbulb come on when someone picking up the technology “gets it,” is sometimes payment enough. (Sadly the bank doesn't view this good karma as legal tender.)
Regardless of what path you choose, I think it best to pick a path early on in your writing career. Not being one to follow my own advice, I have written books ranging from the beginner-level (Teach Yourself YYY in XXX) to books geared toward an intermediate to advanced crowd (Designing Active Server Pages, ASP.NET: Tips Tutorials, and Code, and ASP.NET Data Web Controls). I am about to embark on my sixth book, and this book will be heavily geared toward the beginner crowd, even moreso than the Teach Yourself YYY in XXX books, hence my ruminations on this topic...........