Katie Writes Again!

31 October 2012

A few months ago, I signed a contract to write a book in the Teach Yourself X in 24 Hours series. Pearson was looking to do a complete re-write of the one they already had on Python, and my name had ended up on the list.

When I tell people I'm writing a Teach Yourself book, I get one of two reactions:

Two sketches of Katie. One is delighted, captioned "Omigosh yay!" The other looks slightly pained, and is captioned "Um... Sorry?"

Let's talk about that.

Why I'm writing a book for beginners

Personally, I think Python is an excellent language for people who want to learn programming. Why?

  • It's easy to read. I've had third graders look at a script, and they've been able to tell me what it'll do.
  • It's easy to install. I've been able to talk people through installing Python through a Google Hangout while I'm drinking wine and watching Doctor Who.
  • It's actually used out in the real world. Nothing can discourage a user more than discovering that the fake language you had them use isn't good for anything, and now they have to go and learn something new.
  • It's powerful. In the same vein, you can do so much with Python. It makes games! It makes websites! It chews through data and talks to databases and if you get a robot arm for your Raspberry Pi, I'm pretty sure it'll make you a sandwich! It covers pretty much everything those new to programming have asked me about doing.

Why I'm writing a Teach Yourself book

For starters, they asked.

Secondly, I don't have a huge beef with beginners series. I'm one of those rare developers that actually likes Head First books, and yes, I have owned several Dummies guides (one for photography, and the other for writing romance novels [1]). Hell, I own Manga guides! I think it's important for any field to have something that helps put the novice on track without talking down to them or scaring them off.

Yes, I know there's several free books out there for learning Python. One problem: they're on-line. Even the novice who knows how to google properly may not have the vocabulary to find these books. Many beginners, if they don't have access to someone who already codes, are going to go to the bookstore or library and look for a book.

Many 'Beginning' books are deceptive: They're not always for the beginner in programming. They're often for the person who's decided to learn that language who already has some programming under their belt. With tech books not being cheap, it can be an expensive gamble to see where this book is aiming. Say what you will about beginner series: they leave no doubt as to where they're going to start you: the absolute bottom rung.

It's impossible to know which beginner series a beginner is going to gravitate towards. Some like the Dummies guides, while others like the Head First books. I think we should have an excellent Python book in each of them, and the one in the 24 hours series needed to be redone. So, I'm doing it.

What was this proposal like?

This proposal was completely different than the Accessibility Handbook's proposal. That one, I had no predefined format, so it was completely up to me how I organized my material. If anything, my novel organization helped sell the book to higher-ups.

With the Teach Yourself book, I still had some freedom, but there were definitely some constraints: There had to be 24 chapters. Each chapter had to have certain sections, like quizzes or a FAQ. Each chapter had to be doable in an hour. I had to open and close with a list of what the reader was going to learn / what had been learned. There were a few optional sections, but if I included that section for one chapter, it had to be in all the chapters.

Seriously, their style guide is thirty-five pages long. It's crazy.

Also, they had someone tech-read my outline, and I'm glad they did. It ended up a ton better for the second pair of eyes (Thanks, Doug!).

So, where am I?

I've gathered my tech and test readers, and I've submitted chapters one through ten. Eleven through thirteen are written, and chapter fourteen is being a big ol' pain in my ass. It will either be the chapter that everyone loves, or the chapter that no one actually reads.

When's it coming out?

Uh, next year? Sometime?

I plan on handing in the manuscript in January or February, but that doesn't mean I'll be completely done. I'll still have edits to do, and books take a long time to get from the author's desk to the public. They take a lot of time, making sure you don't look like a complete moron, re-doing your images, double checking your resources, and basically making you sweat bullets for weeks and weeks and weeks.

[1] Note, I have no actual interest in writing romance novels. But Writing a Romance Novel For Dummies was one of the most realistic books ever I've ever read about being an author. While other books tried to nurture your delicate soul, that one flat out told you to network and market yourself, and to do what your editor says.


Related tags: python writing


1 Marie says...

I am ALL OVER this when it comes out.

Posted at 12:24 p.m. on October 31, 2012

2 Michael says...

Here's to a Best Seller!

Any possibilities of more testers or code reviewers?

Posted at 3:54 p.m. on October 31, 2012

3 Ian Witham says...

Wow. The reviews for the "original" aren't very kind!

Personally I rather like programming books with exercises at the end of each chapter, and I imagine that dreaming up exercises for your own book could be quite fun.

Posted at 10:46 p.m. on October 31, 2012

Comments are closed.

Comments have been closed for this post.