|
I've been doing some reflecting on things lately, now that the SharePoint 2007 Development Unleashed book is essentially done - we're just going through the details of finalizing the proofs before they get sent off to the printers before final publication, hopefully sometime in April. I've also had an article come out in Dr. Dobb's this month, as well as one a couple months back, and I think there's another one that I am still writing that'll be coming out probably in a couple months, and I've also got some other projects going on as well.
What it all boils down to is this: I'm feeling pretty overwhelmed. I stopped and took a long look at what I've been doing for the past 7 years of working with .NET (has it really been that long?? oh my God!). My first book on .NET, "Professional .NET Framework", was published in September of 2001, and I am pretty sure that I was working on the initial pre-beta bits of the first version of C# in late 2000, unless my memory has completely failed (which isn't entirely unlikely). I took a look at everything I'd written and contributed to:
There are also a couple other books where I wrote all the prose for one programming language (e.g. C#) and then someone else took all the code, converted it into VB.NET, and then the book was republished for the other language. Also, I've seen copies of my books in French, Spanish, and German - which is a huge thrill for me.
I don't know if many of you know how much work goes into writing a technical book, but suffice it to say that it isn't like I can just sit down to the laptop, let the fingers fly, and be done with a chapter in a couple hours. I have actually had a single chapter take me more than 10 solid days of programming, testing, re-programming, refactoring, and finally writing the actual prose. Writing the actual prose on a given chapter, once all of the code samples and figures are done, can take me anywhere from a 2-day marathon session to a week, depending on how much time I can fit in between my day job and the other things I want to do, such as eat, breathe, and spend time with family.
So, if it takes so much time, and pays so little, then why do I do it? Well, I originally did it because I have a burning need to create, to build. I have always had that need, and it will never go away. At previous jobs, none of them were able to come close to satisfying that need, so I had to find some other way to feel fulfilled ... to feel complete. Writing the books did that for me, and I have to admit that I love educating people and I love teaching, so I was getting a big thrill out of it.
Now that I'm done with the SharePoint 2007 Development Unleashed book (which is fabulous, and you all should go buy it right now, of course), I am pretty much burned out. I'm just not sure my sanity, or my family, can take another long, drawn-out process of writing a book. Technical books become obsolete within a year, and, when you have no co-author and you have a real job that takes up your days, it can take 3/4 of a year just to write the book - the reward for writing books is pretty slim.
I still intend to blog often, as I get a lot of satisfaction out of that. Blogging technical articles, how-tos, and sample code gives me a lot of short-term gratification, nothing like the ordeal of writing a book. I also plan on continuing to publish articles, and I will also be working on my fantasy series (which has been stuck in my head for more than 15 years, waiting for a chance to escape...).
I'm not sure why I posted this, maybe as some kind of closure on that "chapter of my life" where I defined myself as a ".NET programmer and author". Now I have a far more broad definition of who I am and what I do, and I've got new horizons I want to conquer that don't include writing books about .NET programming. I have a far more satisfying job that fills my needs and cravings for creating code, which makes me want to work on my "fun" projects like the fantasy novels even more. I also have a more open-minded opinion about the world of programming - it isn't about just being a .NET programmer anymore. I've dabbled with Ruby, with Rails, with Python, with Cocoa and Objective-C and with hundreds of other things, and will continue to dabble and learn and experiment.
Anyway, I just thought it might be useful for the readers of this blog to see that authors aren't some different breed of people with super-human typing abilities (though I can type pretty damn fast...), and they get burned out and want to do fun things sometimes. I feel like I've devoted the last 6 years of my life in service to the .NET community, and I think I've earned a little time off to kick back, sip some Guinness, and do some things for me now.
p.s. as an example of my new open-minded philosophy on coding, I am planning on attending both the WWDC and the PDC this year :)