Agile Java draft complete! After a mind-numbing few weeks of frantic scrambling to code the exercises and incorporate all the feedback, I topped it off last night by spending an hour as a blithering idiot, saving it from Open Office (http://openoffice.org) format to both Word and PDF format, and then posting it to my site. 40 sections overall made for a tedious exercise. I’m sure there’s an easier way to do this using macros or something but I was too brain dead to think.
Writing is an exercise in many frustrations and rewards. Even after spending a year and a half on this book (off and on–I had several spots of three months or so of inactivity), it’s nowhere near as clean as I’d like. But at some point you learn what is “good enough,” and you learn how to let it go. Much like software. Ship it!
Once your material is shipped, the reality of “good enough” sets in. Inevitably there are defects. One of my wonderful reviewers already spotted two such problems in the exercises (which were specified by Jeff Bay of ThoughtWorks, who did a great job) that I hastily coded.
You learn to build a thick skin. Tempering the excitement of waiting to see something published is the trepidation about things like savage Amazon and Slashdot reviews. Recommendation: don’t publish unless you can handle it. “This is the stupidest thing I’ve ever read,” “don’t waste your money,” and so on. It only takes one bad review out of 20 to ruin your day and make you wish you had Amazon censorship privileges.
But ultimately it’s an extremely satisfying and exciting adventure: from opening the box of copies sent to you and smelling the fresh ink, to watching Amazon ranks go up (and down!) and getting a 5-star review. Now if I could only make a true living of it.