h1

Making Embedded Systems

April 16, 2012

I wrote a book.** It is called Making Embedded Systems published by O’Reilly Media. (If you aren’t into technical books, that is like saying I played center field for the NY Yankees; O’Reilly is awesome and I’m completely chuffed to have written for them.)

It is a technical book for software engineers who want to get closer to the hardware or electrical engineers who want to write good software. It covers all sorts of embedded information: hardware, software design patterns, interview questions and lots of real world wisdom about shipping products.

cover of book

People seem to always have the same few questions about writing the book so I thought I’d answer the frequently asked questions about my experience.

How long did it take you?
About a year from start to finish, from the time I put in my proposal to the when it was on the shelves.

How long did it take to write?
Many years ago, I did NaNoWriMo (national novel writing month) novel and got accustomed to spending a few hours writing and setting word count goals for myself. The discipline was excellent but writing a technical book was much different, there was a lot more self-editing and research.

So, six days a week, I got up at 7am and worked on the book until at least 10am. If I was in the zone (or it was Saturday and I didn’t have other commitments), I’d work on it until noon or 1pm. On Sunday, I usually spend a couple hours reading over the chapter to make sure the information was presented cohesively and not like six blog posts. I did this from November through May, then put the same time into the figures, technical review, editorial review, and putting together webinars to support the book.

Did you work at the same time?
Yes, I do embedded systems consulting so I worked about 3/4 time while working on the book. I gave up a lot of weekends and spent most of my “free” time with friends talking (obsessing) about the book. Afterwards, I was a little burnt out (which is why it took me six months to start a blog).

Did you get to choose the animal on the cover?
No. I really wanted a dinosaur since that is the reputation of embedded systems engineers. Then I wanted a bacteria because embedded systems are ubiquitous. There is a list of the O’Reilly animals though it hasn’t been updated lately. Happily, they did respect my wishes to be divorced from the previous O’Reilly embedded system software book. It had ticks on it. I’m so glad I didn’t get an icky insect. I’d have been ok with butterflies but ticks? Shudder.

What is the cover animal?
A great eared nightjar. It is a hawk. I love how he’s fierce and fluffy at the same time. And the serious expression with the silly ear tufts is pretty representative of the book with its combination of serious information interspersed with jokes.

Great-Eared Nightjar (Eurostopodus macrotis)

How well is it selling?
I don’t know. I’ve nothing to compare it against. I mean, I know what BookScan tells me about how many copies get sold but they only sample a small part of the market.

It usually is in the top 10 embedded books on Amazon (but that isn’t the largest of categories: if someone buys a couple copies, my book rockets to number one until someone buys a copy of another embedded systems book).

And I know how many copies O’Reilly sold between when it debuted in mid-November to end of December (about a thousand). That seems like a lot of books so I’m pretty much thrilled.

Why did you write a book?
An embedded software colleague was building a library for his junior engineers and asked for recommendations for books that would help them understand how to write good embedded software. Since his team works as consultants, they deal with many processors, with and without operating systems. We couldn’t find a single book that did even 25% of what he wanted. He suggested I write one. And somehow by the time I finished laughing, I agreed.

Are you going to write another book?
I should say no. I mean, I couldn’t write a book about something I wasn’t passionate about. And it took so much time. It is just too much work. But then someone asked about a book that really has me intrigued… it would be essentially the same chapters as my book but would come with a board and some sensors, actuators. Each chapter would help the reader implement something that explains the concept. For example, instead of the strategic how and why of state machines in Making Embedded Systems, it would be more tactical showing a problem and an implemented solution, something a sixteen year old hobbyist could follow. I’m incredibly intrigued by this idea. (Though I’m ok if someone else does it first.)

Sideways glance Did you pay to have it published?
No. O’Reilly is a real publisher. They even paid me an advance and I will get royalties as it sells. The advance didn’t cover but about a tenth of what they would have paid for my contracting rate. On the other hand, the book acts as an excellent advertisement for our consulting company so I suspect I’ll make it back over time.

Any other questions? I did do a couple interviews with much better questions: one with Gretchen Giles at on the O’Reilly Radar and one for Server Side.

** I’ve written two books, actually, but the other is a novel, self-published, and my mom only gave it four stars on Amazon. It was written as part of NaNoWriMo, then edited over a year. In it, someone with my resume ends up trapped in space, saves the world from terrorists and then gets rescues by her physicist-drummer-embedded systems engineer husband. While that all sounds like true-life stuff, it is totally fiction. Though there is a nice discussion of the ASCII hex codes.