It is hard to write a book, and other whining.

Posted by amy on March 08, 2008

Dear Internets,

I have been neglecting you. That’s because I started a new job last month, at a place called Smartleaf, doing Ruby on Rails development for 20 hours a week. It is fantastic. It is a lot of fun. It’s great people, good food, easy commute, and coding. I haven’t been an employee for years, so it’s quite a change for me, and in a good way. (It turns out that you can write better code without children yelling in your ear.)

But I’ve got these kids and this life and this job and I’m kinda busy.

Also, I’m supposed to be writing a book about computer science for practicing programmers. It’s meant to be an overview and sourcebook for people who didn’t get CS degrees but are working as programmers. Which, it turns out, is most of us. And when I signed on to write it, I hadn’t actually anticipated that a great job opportunity would drop into my lap, the way this one did, so I thought I’d have four or five hours a day to work on it. But suddenly I have about three minutes a day to work on it, and I’m having a really hard time. The subject matter is not easy. It is not just something I can write in my sleep. I don’t know the stuff I plan to write about. And even though I’ve lately become a big believer in the idea that you can accomplish an awful lot in just fifteen minutes, I fear that it is turning out not to be the case that you can write a book about computer science in just fifteen minutes a day.

Actually I emailed Steve Yegge about the book (partly because he was an inspiration for my wanting to write it, and partly because I wanted to use some quotes from his blog in it and wanted his approval) and he wrote back and said something like (I’m paraphrasing here): Hah, good luck. Many have tried, all have failed to write such a book. Which was a little bit depressing and discouraging, but honestly, what do you expect from Stevey?

Still, my editor is getting restive (hi Daniel!) and with good reason. Maybe we should put the book on hold, he asked, and see if it’s actually going to happen? Ick, I said. That is a terrible idea. I am going to write the damn book. Of course I can do it.

But I don’t know how. I don’t know how to do it, internets. I need your help, hive mind. I asked my friend John if he wanted to write the book with me, and he was like “hah, no.” All he does is send me links to stuff that I should read for the book, and recommend books that would be helpful, and talk about how much he wants to read the book. I asked Max to make me work on it for an hour every morning before the kids wake up, but the kids somehow magically sense when I am awake and wake up with me. And I have never been a morning person and I just can’t think at 6:30 a.m. And I have two hours on Saturday morning to myself when the kids go out to the French library with Max, so today I managed to clean the bedroom, set the robot to vacuum, and dump all the clean laundry on the bed in an enormous mountain so that I am forced to fold it before bedtime. I also went for a short walk and stopped in at the bookstore. And finally started typing this and as I am writing the family is returning, and a baby is running down the hall crying for me. So that was my morning.

And I realize how obnoxious it is that, out of amazing good fortune, I have a book contract, an actual book contract, with people who are my programming heroes, and here I am complaining about it, and basically just screwing it up.

So this is what happens: i get some bursts of energy to work on the book — like I spent two weeks reading and learning a bunch of stuff about C, and figuring out all the different ways to get segfaults, and I wrote a few pages of notes for a chapter on C, and I found awesome documents like the ANSI C Rationale on the internet, and I also read a bunch of stuff about machine architecture and cache memory and pipelining and bitwise operations and analog computing and I took a bunch of notes, and I thought a lot, and I wrote some stuff, and I made what progress I made by basically doing nothing but that, work, and cooking dinner. I mean, I basically ignored my children. I’d be like “uh huh, that’s great, but I’m really trying to understand the semantics of arrays in C right now, sweetie pie.” Oh, and I didn’t get quite enough sleep. After a couple of weeks of that I needed to do things like make plans for our trip to Europe in May (for my oldest friend’s wedding, not just because we’re decadent francophilic wine-and-cheese freaks, although we are that too, but man, that Euro is PAINFUL now) and get the taxes ready to send off to the accountant, and fight with the insurance company about various claims they refuse to pay for various ridiculous reasons. And read to my kids, and spend ten minutes alone with my husband, and parent help at Ari’s preschool, and everything else. And honestly, our lives aren’t even that busy. Our kids are not in a ton of activities. We don’t schlep around to baby music and movement classes. Ari is in no organized sports. He goes to preschool three mornings a week. Max and I each work 20 hours a week, and we have about 18 hours of babysitting.

But somehow I just can’t manage it.

What this tells me, first of all, is that nobody out there is managing it. We have far, far more time than most other parents with two children under five, and it’s still not ‘enough’. There’s an endless pile of stuff that I think should be getting done that isn’t getting done. This tells me that my ideas about what has to actually get done are just wrong, because I’m not getting a lot of these things done but things go on just the same. So I should probably just drop that stuff off my list. Like “inventory our crap for insurance purposes.” And “clean out the basement storage room”. And “start tomato seeds.”

But honestly, I’ve already dropped all that off my list. I’ve even dropped baking bread off my list, for the time being, and I’m someone who has an actual grain mill sitting on her counter. I grind my own damn wheat to make my own damn bread, and I haven’t done it in a couple of months.

I don’t watch TV or movies. The entire season 3 of Lost is sitting on my dresser waiting to be watched, but it’s an enormous commitment and I just don’t see how I can make the time. I’ve cut my newsfeeds down. I do no recreational reading except that I sometimes give an hour to the New Yorker.

Look, internets, I really want to write this book. It’s a lot of fun, except when it’s so painful I want to die or puke or something. I’m learning a lot. I think I could help other programmers figure out how to learn the stuff about computer science that they want to learn, and help them figure out why they should care. But it turns out, unsurprisingly, to be really, really, really hard to write a book. At least this kind of book. Well, I’m sure any book, really.

But am I just a big lazy whiner? I honestly don’t know. I thought maybe the book would be a year-long project, and it looks to be more like a five-year-project, especially at the pace I’m going. Now it’s true that Don Knuth is still working on his opus, but I’m not Don Knuth. Does the world need what I have to offer, or am I torturing myself and my family for an unnecessary project?

I keep thinking, okay, well, I didn’t make much progress that way, I’ll try some other way. And so I try all the hacks I know of to motivate, and make time, and make progress. And I keep trying in different ways. And when I drop it for a few days and fall off the wagon and stop meeting my goals, I just try again. So I’m sorta impressed with myself about this, that I keep trying, even in the face of basically constant failure and what feels like a pathetic lack of progress. But boy does it take an emotional toll. Writing this book (or mostly not managing to write it, as the case may be) is incredibly emotionally and intellectually taxing. Not to mention time-consuming.

I know we don’t have a ton of blog readers out there, really. But if anyone out there wants to offer some encouragement, or has any suggestions, I’d love to hear from you.

Popularity: 71% [?]

Theoretically Related Posts
  • Testing Rails: the learning curve
  • From _A Guide to Testing the Rails_, a fantastic explanation of why we should write test code
  • Why We’re Learning Ruby on Rails
  • Math and Programming
  • Trackbacks

    Use this link to trackback from your own site.


    Leave a response

    1. MilesZS Tue, 11 Mar 2008 14:28:13 UTC

      I like the book’s concept; it sounds like a potentially enjoyable and informative book, but, jesus, don’t kill yourself over it. We, the no-degree-but-coding-anyway masses, can learn CS if we want to learn CS. We might love your book, or we might not. We’re fickle. We’re judgmental. We’re not worth a lot of pain and strife, nor are we worth the neglect of your family, if it happens to come down to it.

      I think Yegge would tell us there’s no real shortcut to grasping CS, anyway. Right? I mean, I have to write a compiler, right? I’m sure I have to read the Gang of Four book, also.

      I apologize for the disjointedness of this comment. Ultimately, I think, if it is a dream of yours to have written a tech book, than it certainly may be noble and desirable to chase it. Don’t do it for any of ‘us’, or for anyone else, really. Do whatever you do for you and your ‘loved ones’.

    2. Leah Thu, 13 Mar 2008 09:02:18 UTC

      Dave Coustan sent me your link and I’m going to try to comment before my train does underground and I lose internet.

      I’m single, no kids, and writing a novel. I feel the same way you do. I think its part of writing. Here’s the advice I got on Saturday.

      1. How long of s writing session is “worth it” to you? For me it’s an hour. My coach cut that down to 30 min.

      2. Take a piece of paper and draw seven circles on it.

      3. Put it somewhere you can see it daily.

      4. Fill in a circle every day you spend the allotted time writing.

      5. Review at end of week. More days on than off? Can you up it by a day?

      Might help.

      Other suggestions (swear I’m not saying its easy or trying to fix it)
      Can you stay at work an hour later and write there? Take a laptop in and sit in the lunch room or the nearest cafe after work? Just extend the 20 to 25 and then go home.

      Good luck, you aren’t whining. This is writing a book.

    3. Vomits Tue, 18 Mar 2008 12:41:55 UTC

      I don’t know anything about families being tortured by unnecessary projects! Do the family members in question have opinions, besides crying?

      What about a full court ADD press where you get tangential and write an easier book first? Sorry, it is all I know!

      I am happy to resume ass prod duties if you want me to do so in a more organized fashion.

    4. Gregory Brown Mon, 18 Aug 2008 22:34:10 UTC

      I normally hate when people post comments to entries that are more than a week old, but here I am doing that.

      Sorry for not keeping up with you and Max!

      I self-published the Ruport Book, as you know, along with Mike Milner. That had its pros and cons. But now, I’m working on a book for O’Reilly, so I’m cutting my teeth on a ‘real contract’ too.

      No advice has worked for me, other than this simple fact:
      A book is written by stringing words together into sentences, sentences into paragraphs, paragraphs into pages, pages into chapters.

      Sit down and write a sentence. Decide to keep writing until you burn out or run out of time. Do this as frequently as possible, and your book will be written.

      I stand still and freeze when I think about what effort it’ll take to write a whole book, and I fly when I’m just trying to nail a section or paragraph.

      Also… pick the right examples and the book will go much easier. I sit around for days on end thinking about that, and then once the example fits, I can see a whole chapter come flying together in my head, that I just need to put out on paper.

      Bad examples are poison, and have the opposite effect. I’m sure this advice is barely useful, but I guess I felt the need to throw in my two cents.

      Also, always remember that your family and your well being are more important than your book. Words on paper may outlast you, but they’re not alive.