The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 4,863,575
since: 19 Jan 2005

On Writing

posted Thu 13 Sep 07

Sometime in late 2000 (I think that's right.. 7 years exceeds my reliable memory span for dates/events) I was working in the Portland, Oregon area and just happened to get a random extra invite to a 3-hour event Microsoft was putting on. They gave us breakfast, so that obviously meant I would attend (Free food exceeds technical merit in terms of deciding whether to attend!).

This is where Microsoft unleashed the .NET Framework 1.0 pre-alpha on the world. Basically we got some bits that included the C# compiler (csc.exe), and the core runtime. Visual Studio .NET did not exist yet, neither did any documentation on the language, except a book that was published a couple months after that event that contained a 70-something page description of the C# specification, but almost no documentation on the BCL (Base Class Library) at all.

While painfully trying to write code with no documentation using notepad and CSC, I got upset and wrote a quick letter to Wrox press - the people who published nearly all of my then dog-eared books on "legacy" ASP, VBScript, COM, etc. I told them they needed to get off their butts and publish something on the .NET Framework, because it was going to change development as we know it. They wrote back asking me if I'd be interested in writing a chapter. That chapter grew into six more, which grew into me contributing to just over half the chapters for my first book, Professional .NET Framework which was published in 2001.

So then over the next 6 years I contributed to another 13 or so books. I say "or so" because I think there's a VB.NET book that I didn't contribute any prose to - someone converted my C# from one of the books, left the prose basically unchanged, and the book was then republished as a VB.NET book so I don't really like claiming credit for that one.

Where the introspection starts is I look back on the last six years and I wonder - was it really worth it? I think about the amount of time I spent in my "zone" where I was inaccessible to my wife and now my daughter. I think about all of the time it took to write those books. In case you're curious, it takes a flaming truckload of time to write these books, even if you have a co-author. I keep wondering about what I missed while writing the books.

To be blunt, I don't really know what it feels like to be relaxed at this point. When I get home from work, I have a very short transition period involving somehow finding something to eat before I switch into "book mode" where I start work on the latest chapter. I think I've posted it before, but I am driven.. not just driven , but driven in bold and italics ... to learn. This uncontrollable urge to learn has, for the last 6 years, been somewhat satiated by the learning required in order to write the books.

I originally started writing the books to satisfy this need because my day jobs had all been boring and didn't provide anything remotely close to a challenge. So I manufactured a challenge and excitement in the form of learning and writing books. Now that I have an extremely satisfying and challenging day job... I often find myself looking at all the work I'm doing and I ask myself... Why?

I don't know anymore. Sometimes I think that I've been writing for so long (6+ years), that the thought of coming home and not working on a book has become scary - it's become something that my brain is so used to doing that it rebels when I don't do it - a strange kind of withdrawal, if you will.

When I spend time with my family, I often feel guilty for not working on the books. That's what really scares me, because I should feel guilty for working on the book instead of spending time with the family. I've read the dedications in a lot of technical books where the authors thank their families for putting up with them during the book writing. You might think that's just a sappy line, but there is a real, expensive price to be paid for devoting the time and energy required to write a book. Some people get paid to travel around the country and present powerpoints and evangelise and their schedule makes it a little easier for them to also write books... but when you commute for an hour each way, you work a full day, and you have a family... you can't possibly write books without paying a price.

I'm not really sure where I'm going with this post and it feels kind of rambling and disorganized, but that's kind of how I've been feeling lately. There is a misconception that technical book authors wake up in the morning, saunter into a den in their smoking jacket with pipe and a few hours later they emerge with a shiny new chapter. While that might work for people who have made enough on their books to not need a job (like Stephen King, Terry Brooks, Robert Jordan, etc), but that's just not even close to the reality for many technical authors.

At some point in the recent past, I saw a comment where someone actually accused me of not having a "real job" like the "rest of you", implying that my day is filled with buttferlies flapping, faeries singing and half-naked women fanning me and feeding me grapes while pontifications of such greatness pour out of my very orifices... I have been writing code for my job for the last 13 years, and writing code for my hobby for the past 22 years, and writing blog posts, articles, and books has been squeezed into that time that some people consider "spare" but my family considers "where is Kevin/daddy?" time.

So next time you see a technical author walking around a Borders or Barnes and Noble, and he looks pretty damn tired, buy his book and give the poor guy a hug, as there's very little that is glamorous or even fun about being a tech author. It's something we do because we are uncontrollably compelled to do - for better or worse.

tags:        

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. James Gregurich left...
Thu 13 Sep 07 10:57 am

Has C# and .NET changed development as you expected it?

For those of us on the mac side of the fence, its a ho-hum. It looks much better than Win32-based development, but I see another overcomplicated MS nerd-toy.

BTW: forget the books and spend your evenings with the little girl. She won't be little forever.


2. Kevin Hoffman left...
Thu 13 Sep 07 11:01 am

James. Thanks for the comment, especially about my daughter. Much appreciated. C# and the .NET Framework has indeed changed development. If we were somehow stuck in an evolutionary vacuum and all forced to write COM code, the amount of stuff that I could do on a daily basis would be radically altered. In fact, I'd probably be pumping gas, or a professional Mac developer if that were the case.

C#/.NET has single-handedly created a dramatic increase in productivity and decrease in time-to-market as well as increase in reliability, stability, and scalability from where Windows used to be.

That said, that dramatic increase in productivity has basically put .NET developers on par with the productivity you can get on a Mac. ;)


3. James Gregurich left...
Thu 13 Sep 07 12:48 pm

>That said, that dramatic increase in productivity has basically put >.NET developers on par with the productivity you can get on a Mac. ;)

We'll see about that one. :)

Are we seeing C# and .NET being significantly adopted for desktop application use? I know it has traction in the web application space.


4. Kevin Hoffman left...
Thu 13 Sep 07 12:53 pm

If you're sitting down to write yourself a brand new desktop application for Windows, you would have to be completely out of your mind to do it in anything other than the .NET Framework, unless you have specific requirements.

If you haven't decided which platform you're targeting first, I would obviously say do it in Cocoa, because its faster and easier than even WPF. Again, the point of the book was to get people to do both Windows and Cocoa specifically because its so easy to do.


5. James Gregurich left...
Thu 13 Sep 07 1:06 pm

what you say is certainly true. However, my question is...what realities are we seeing in the marketplace?

Are we seeing traditional Windows desktop developers adopt .NET and C#? Is the next version of MS Office going to be a WPF app?


6. Kevin Hoffman left...
Thu 13 Sep 07 1:09 pm

A huge number of Windows desktop application developers are adopting the .NET Framework. Microsoft, unfortunately, is slower than molasses in adopting their own technology. I won't name names, but there's a new SDK for one of their new products that's entirely COM based, without a drop of pure .NET.


7. James Gregurich left...
Thu 13 Sep 07 3:48 pm

Are there any well-known commercial products in the pipeline that have been rewritten for .NET?


8. Thomas Sempf left...
Fri 14 Sep 07 5:14 pm :: http://www.chaosmachine.de

Hello Kevin. I have to admit that I never read a book from you but I really enjoy your blog entries. Coming personally from a Mac background with much programming in Cocoa and now working on WPF and C# during daily business, it is much fun to read your insightful comments, ideas and interesting findings. Concerning your current blog entry I have to say that I can fully under stand your feelings, I just got father too :) It doesn't matter in this sense if you write books (which can be a lot of fun, at least I had fun when I wrote my magazine articles, though those ones were really short compared to a real book) or spend your evenings in the company to finish code and projects. I think you should do what you like most, but also try to shift fields of interests a little bit to try out new things or enjoy family life. James was right your girl won't be little a long time, at least my boy is growing constantly :) Normally that helps me and if I pause a hobby/job, i.e. programming at home, I get after a time a real need to start it again and then it is fun again....

P.S.: But I am really looking forward to your new book ;)


9. Craig left...
Sun 16 Sep 07 9:34 pm

I may not write books,blogs or other media - I can't focus for more than a few days on something ;) but when I get home, like you I take a break and then get to my personal coding projects BUT when my little girl is around she gets 100% of my time and the coding waits until she is sound asleep. Its tough but they only happen once, when she grows up I'll have plenty of time to code :)


10. Stefan le Roux left...
Mon 17 Sep 07 3:52 am

"I often find myself looking at all the work I'm doing and I ask myself... Why?" - well Kevin, so that the rest of us don't have to. The amount of excellent .NET books today are probably due to your dedication and inspiration.


Tag Related Posts

WPF Control Development Unleashed

Wed 25 Mar 09 2:26 P GMT-05

It's Collectively Intelligent!

Fri 20 Feb 09 11:24 A GMT-05

Why is O'Reilly Condoning iPhone Hacking?

Mon 11 Feb 08 3:55 P GMT-05

Continuous LINQ v1.0.0.0 Released

Tue 08 Jan 08 4:53 P GMT-05

November is National Novel Writing Month!

Thu 01 Nov 07 12:42 P GMT-05

On Writing

Thu 13 Sep 07 1:44 P GMT-05

Authorness

Thu 15 Mar 07 1:44 P GMT-05

Scrobbles, Diggs, Flickrs and Tags Oh My!

Tue 01 Aug 06 5:25 P GMT-05