what it was like writing a book

Last month, I got to give a ten minute speech at work about what got me to write a book and what it was like. I then gave a shorter version of it as a Toastmasters speech. The highlights seem like a good blog post. Along with a good number of more detailed points I had to omit due to time.

Getting there

  1. Over a decade ago, my teammate, Chris, asked me if I’d ever write a book. I went to a fairly animated response about there is no way I’d ever write a book because it is so time consuming. And here we are. He knew before I did. (It’s good to have a mentor that knows you better than you know yourself.)
  2. Busy people attract time consuming hobbies. After I finished grad school, I started blogging and mentoring. Moderator at CodeRanch.com. Oh, and writing lots of book reviews. Starting with Java 4, I also presented to people at work about new features in Java.
  3. My mind shifted from “no way” to “maybe someday.”
  4. I was still afraid at the time commitment, but curious about the process.When Martijn and Ben asked me to tech proof “The Well Grounded Java Developer” I said yes to learn about the process. It was interesting. I also proofed Manning’s OCA Java 7 Study Guide which was a different experience because I didn’t already know the author.  Also, getting to write tghe foreword reminded me that I did want to write a book someday.
  5. At this point I shifted from “maybe someday” to “I’d seriously consider it if the right opportunity presented itself”. I had been approached for two other books, but they weren’t the right opportunity.
  6. When Bert was looking for contributors to K&B 7, I jumped at the chance.  “Interviewing” with Bert was scary because I admired him so much. (In hindsight, I don’t think it was an interview, but I was certainly nervous enough for it to be one.) I learned a lot from Bert; he’s a great mentor. I also gained confidence because I got asked to write 1.5-2 chapters essentially half a chapter at a time. The first one felt like “taking a chance on me.” The last two groupings felt like I had earned it. I also learned my writing velocity which was huge for being able to commit to actually writing a book.
  7. My friend Erik and I talked about writing a book together. We wrote table of contents and the beginning of chapter one. Even though we didn’t proceed, it was good to have a practice run at organization. I used github to organize things. Knowing how I would so greatly happened when it came time for this book.

Previous work for Wiley

Michael Ernest asked me to tech proof his book “Java SE 7 Programming Essentials“. I didn’t get to due to, well bureaucracy in multiple places. I did learn to avoid that bureaucracy the next time the opportunity came up. Michael asked me to tech edit his next book with Wiley. I signed a contract. Then the book didn’t get written. Note that the only work I have done for Wiley at this point is sign a contract.

The right opportunity

As I sat in “I’d seriously consider to right opportunity, but not seek it out” mode, two publishers approached me. Both were big name tech publishers. One was an update of an existing book. There would have been new chapters about Java 8 that would be mine. And a lot of pruning/updating. The other was the one I choose. I did talk to a contact at both publishing houses before deciding. I also talked to the author of the previous edition (for the one I didn’t choose) and Michael Ernest for the one I did. I wanted to see why they didn’t want to do it. Just like coding, a greenfield project is often more fun and that’s what I went with on the book. I also had just finished working on Bert’s book and wanted the opportunity to have my own style.

When I spoke to Wiley on the phone, the acquisitions editor referred to “my previous work with Wiley.” That’d be the contract a signed that was later cancelled? Glad to know that shows I’m reliable. I imagine/hope that Michael vouching for me meant more than that meagre work experience.

I asked Scott to co-author with me. We had talked about writing a book together years ago and it’s always been a running joke/something that might happen one day. He was therefore my first choice as co-author.

Tools/Tech

  1. Github source control – For both example code and the book files
  2. Github tasks/issues – For managing deadlines/tasks/bugs/etc. I wrote a Spring/OAuth web service to automate this.
  3. Github wiki – For links, phone numbers, etc
  4. This blog – For announcements
  5. Jenkins/Selenium/XPath – For when Oracle changes the objectives
  6. Pomodoro Timer – To remind me both to stay focused and take breaks/look away from the computer

Win a free copy of our book!

Scott and I are doing a book promotion at CodeRanch this week.

Post in the OCAJP forum between now and Friday and be entered to win a free copy. The four winners will be announced on Friday.

Plus you can ask Scott and I questions about the book – content, what it was like writing, how we approach the exam, etc.

OCA 8 Book: Online Material and Practice Exams now available

If you’re one of the individuals who already purchased the e-book of our OCA 8 Study Guide, you might have noticed the online materials weren’t up yet. They went up today.

If you’ve ordered a printed book, we are getting close. Amazon.com is currently predicting delivery between January 27th and February 25th. We will post again on this blog as soon as we hear of an actual US delivery. First printed book delivery was reported on January 31st.

We are also doing a book promotion at CodeRanch next week. Ask us a question and be entered to win a copy of the book.

sybex

What do the online materials include?

  1. 3 mock/practice exams (60 questions each)
  2. 2 sets of flashcards
  3. A searchable glossary
  4. Electronic versions of the assessment test and end of chapter review questions from the book

How do I register for access?

Step 1 – buy the book. Once you have an electronic copy or printed copy of the book in hand, it is easy. When going to the Sybex test bank site, you are asked to supply/create an access code. Creating one is easy. You are asked for your name and email. You are also asked to answer a question that is easy if you have the book. (Like “what is the answer to question 3 in chapter 2” or “fill in the blank from the text of figure 2.4”). Then the access code is emailed to you. It came immediately when I tested it.

With the access code, you go back to the test bank site and create an account. You get to use your email as username and the password of your choice making it easy to remember. Then you are in!

How is the test engine?

This is a new test engine from Wiley. Older books came with a CD that had a Flash based system for questions. While I’m sure this is very nice for non-coding exams, the old engine only showed a handful of lines of code on screen which was bad for programming exams. I’m SO glad they improved this before our book came out.

The new test engine is beautiful. It shows roughly as much code as the real exam. It has a timer so you know how long you have taken. (It counts up instead of down like the real exam does, but you know how long the real exam gives you so this is fine. It’s actually a good thing since Oracle likes to change the length of time allowed for the exam.) The engine lets you bookmark questions for review; as does the real exam. The whole system is intuitive and nice to use.

Author advice

  1. The engine lets you choose how many questions you want in the practice exam. I recommend taking them with the 60 questions each that are indented. A lot of thought went into which questions appear together on a practice exam and you’ll get the most realistic experience.
  2. The flashcards allow you to choose sequential or random order. I recommend random order. Just like you’d shuffle your physical flashcards to make sure you remember best.