Send to Kindle

Wednesday, April 25, 2012

366 or How I Tricked Myself into Being Awesome

Like most developers, I am an introvert, so it is hard to say this:

I am awesome.

Fuuuuuu.... I can't even leave it at that. I look at so many amazing people in the Ruby, Javascript, and other communities that actually are amazing and I feel like I haven't done anything. But even so, looking back at the 366 days of the last year, what I did was, well... amazing.

I wrote three books on very different technologies that I knew nothing about.

I wrote The SPDY Book, which is still the only book on SPDY:



Three months later, I co-authored Recipes with Backbone(.js) with Nick Gauthier:


Three months later, I wrote the first book on Dart, Dart for Hipsters:


Each of these technologies has two things in common:
  1. They are game changing (or at least possibly)
  2. I knew nothing about them before I started writing them.

What business did I have writing books on topics about which I knew nothing? Well, let me put it this way: I did it so why shouldn't I (or anyone else)?

How did I do it?

Blogged every, single day. For one full year. 366 days. Every day. No matter what.

I honestly don't know why I started doing this. One night I had a brilliant idea and before I stopped and thought about how stupid it was, I publicly committed myself to doing it.

And it worked. Every night, I ask a question to which I don't know the answer and I try my damnedest to answer it.


Every time I do this, I learn. The daily deadline forces me to learn. Blogging about it challenges my assumptions and makes me learn even more.


And then, doing it again the next day reinforces the learning. As does writing the book. And the second edition.


I am proud that I didn't let this get in the way of what's important. I still took vacations with the family—drove to the beach and Disney World. Birthdays, anniversary, sickness—I was there for it all.

And in the end, what did I learn? Well aside from a ton about cool technologies, I learned that...

I tricked myself into being awesome

I heard a story on RadioLab about a lady named Zelda. She tricked herself into quitting smoking by swearing that she would donate $5,000 to the KKK if she ever smoked another cigarette. And she never did. Would she have really donated that money if she had given in? Maybe not, but it was enough for her to have convinced herself that it would happen.

And, in the end, I did the same. Would the world have ended if I missed a day? Of course not. Very few, if any people would have noticed. But I would have noticed because I committed to doing this. And, after 366 days, I have more than not smoking to show for it. I have three books, the last of which is being published by The Pragmatic Programmers.

So what's next?

Day 367.

57 comments:

  1. This deserves a standing ovation.

    ReplyDelete
  2. First of all, CONGRATULATIONS! I know how difficult it is to commit to doing something EVERY single day. I failed myself many times on doing this, so you just become my new hero. Also, I love the idea of "tricking yourself". I think it is a great way to grow as a person, trying things that you would naturally not do.

    ps- I added Recipes with Backbone to my future reads stack!

    ReplyDelete
  3. Really inspiring stuff sir. Keep it up and thanks for sharing.

    ReplyDelete
  4. Mandatory Listening: Freakonomics' "Save Me From Myself" (http://www.freakonomics.com/2012/02/02/save-me-from-myself-a-new-freakonomics-radio-podcast/)

    ReplyDelete
    Replies
    1. Heh. I need to save myself from my commitment device at this point! Seriously, how do I stop doing this? How amazing or terrible does a day have to be to justify breaking a 1+ year chain?

      Thanks for the tip -- added to my podcast lineup :)

      Delete
  5. Thanks for the encouragement everybody. This was a surprisingly hard thing to write, so I really appreciate the positive feedback. It means a lot!

    ReplyDelete
  6. That's fantastic Chris. I'm in awe, I really am.

    ReplyDelete
  7. Really awesome post, inspiring. I should start look for something to commit myself and force me to complete something i dont think i can do it.

    ReplyDelete
  8. Congratulations. The self discipline to execute such a feat is astounding. Keep it up and continue writing great books! (Especially one on Erlang.)

    ReplyDelete
  9. Wow, nice idea and great determination.

    ReplyDelete
  10. wow! This is big.I guess you don't need to become a master before writing books. I'm impressed and want to do the same thing. Thanks man!

    ReplyDelete
  11. Great idea for learning. Forced marches are the best.

    What have you found to be the best source for deciding on a question to go about finding an answer to? just whatever was stumping you in the project you happened to be working on? a question that popped in your head related to something you were reading or working on?

    ReplyDelete
    Replies
    1. Good question. I start with the obvious: how do I even get started with this technology? I focus on just answering that question, but inevitably, a ton of other questions arise: what if I don't enable that flag? why did they put this functionality in that library? how do I prevent it from doing that? I do not answer these questions right away as they'll distract me from just answering the first question, but I write them down.

      Once I have answered the immediate question, I review the generated list, sorting with the criteria: what do I absolutely need to know in order to produce a book on the topic? And then I answer that question.

      At the end, I have a fairly hefty list of questions that I have not answered. I take comfort that I answered the right ones first. But I never lack for things to work on next :)

      Delete
  12. Great! now I'll try something like that but with my own twists :)

    ReplyDelete
  13. Awesome! I do this myself at work - I'll send out a developer-wide email saying "I'm doing a presentation on X next Friday" and then start learning it. Best way to learn. Maybe I should start posting instead, then I'll get a book deal :P

    ReplyDelete
  14. I always suspected you were awesome! Congrats on this milestone. Makes me want to start a new chain (and maybe stick with it this time???)

    ReplyDelete
    Replies
    1. Hahaha. Thanks, man! You definitely should :)

      Delete
  15. Well done. Great kick in the butt inspiration. Thanks for sharing :)

    ReplyDelete
  16. Great! but where is the LIKE button for this post?? :)

    ReplyDelete
  17. Chris, congratulations! I've recently used the same type of daily commitment to create new positive habits also. It's incredibly effective when you just take it one day at a time.

    My commitments were much less involved. Things like reading a particular number of pages in a particular book every day, tasks I could fit into my schedule.

    Where did you find the time to learn these entirely new concepts every day, and to write books about your learning, while presumably also putting food on the table?

    ReplyDelete
    Replies
    1. I don't sleep as much as I should :P

      Also, I eased myself into it. I started the chain thing back in 2009 and kept it fairly lightweight -- ~30-60 minutes of work, then short blog post. Over time, and during my second chain in 2010, I found myself doing more work on occasion without really suffering.

      Now, much of my "me" time is dedicated to this. Family time is sacrosanct, but I can still get a ton done if I know I have to.

      It also helps to be the head of development at work. I'm pretty strict about my team not putting in more than 8 hours a day and I lead by example :)

      Delete
  18. I'm inspired too. But do you mind sharing the numbers (privately)?

    ReplyDelete
    Replies
    1. I've sold ~800 of The SPDY Book. We've sold 1,000+ of Recipes with Backbone. I had sold ~100 of Dart for Hipsters before PragProg picked it up.

      I can't share actual dollar amounts (even privately) because many of my sales have come through PragProg (they also distribute The SPDY Book).

      Delete
  19. Absolutely awesome. And inspiring. Thanks!

    ReplyDelete
  20. Amazing!, but, how was your publishing timeline, or publishing strategy?

    ReplyDelete
    Replies
    1. My timeline was alpha after 1 month, beta (~100 pages) after second month, and final version at the end of the third month: http://japhr.blogspot.com/2011/04/my-chain-3.html

      It was not always easy, but I made it. Three times :)

      Delete
  21. well done sticking to something you said you were going to do.

    ReplyDelete
  22. But how to know that the book you are writing is really a good book. I appreciate your effort, but writing a book and selling to mass means quite a challenge and even expert guys make so many mistakes.

    ReplyDelete
    Replies
    1. I love mistakes -- that's how I learn :)

      I did some research ahead of time. In particular, I read http://www.authoringebooks.com/. It's expensive now, but it's chock full of good advice.

      I did have reasonable expectation that I would at least be competent writing. Before writing the book, I had done two other chains, but only blog posts -- no book. I had already written some 500 blog posts which gave me a _lot_ of experience not only writing, but writing clear explanations of some deep technical issues.

      And my primary goal was not to sell, but to learn. If I sold a lot of books, fabulous, but if not, it wouldn't be a great loss. Regardless, I would keep doing this simply because I love doing it. And maybe that's the key to writing a good book :)

      Delete
  23. This an awesome story to get inspiration .... Thanks a lot for sharing

    ReplyDelete
  24. Can you share the way you learn?

    ReplyDelete
  25. Well done Chris!

    I embarked on my own (significantly more subdued) version of this prompted by a post by Hanselman around Christmas time.

    Time past I'd learn things and use them and leave it at that. Now I try to learn things, use them, and if I find something interesting about them then write about it. It exposes areas of ignorance in my own knowledge (many and myriad it often seems!) but leaves me a better developer at the end of it.

    And frankly I enjoy it too. Well done for doing the same thing to much greater effect and with greater achievements to show at the end of it. I salute you sir!

    ReplyDelete
  26. dude. this is awesome and a half. i think im gonna blog about grails every day from now ;)

    ReplyDelete
  27. Really an inspiration for those who dream to do big but didn't start.........

    ReplyDelete
  28. Your output is really impressive. I don't know the first thing about coding, but the timeline and your persistence seems to be some of the keys to your success. Who did the artwork for your books?

    ReplyDelete
    Replies
    1. I use 99designs for my covers. They're great :)

      The contests for my covers are:

      http://99designs.com/other-design-tasks/contests/tech-e-book-cover-dart-hipsters-111453

      http://99designs.com/other-design-tasks/contests/tech-e-book-cover-recipes-backbone-97310

      http://99designs.com/other-design-tasks/contests/cover-ebook-named-spdy-book-85085

      Delete
  29. Hey Chris!

    Awesome post man! More than anything else, in terms of honing a skillset, getting ripped at the gym or learning to do one thing really well - consistency is key. Thanks for driving home the point.

    I really did enjoy your crayon drawings btw :)

    ReplyDelete
  30. Hi Chris,

    I read your post on Hacker News and found it super inspiring. I am trying to write a blog post a day as I learn Ruby on Rails (http://robdodson.me) and was wondering if you could offer some advice?

    I've found that it typically takes me a few hours to write/research a blog post and I'm concerned that spending this much time on it might make it difficult for me to maintain over the long haul. How do you typically scope your posts so they don't balloon out of control?

    Do you ever put together a post over a series of days while turning out shorter posts in the meantime?

    Is there any software or tricks that you use to help you plan and execute a post faster?

    Thanks!

    ReplyDelete
    Replies
    1. A few hours a day sounds like it's ripe for burnout. It's definitely a tough balance at times, but I make every effort to limit myself to no more than two hours. It's frustrating / disappointing, but I will blog negative results rather that push too long. My scope is a reasonable goal, bedtime, or midnight -- whichever comes first :)

      I never go back to synthesize my learning in useful, well-written summaries. I did feel like that was lacking from my original chains, which is one of the reasons for the books.

      I'm a minimalist in my approach. I don't use fancy blogging software (obviously) or any note taking mechanisms. About the only thing that I do to make my life easier is maintain the blogger template that I use for new posts. In there, I keep a fresh list of future topics as I think of them as well as a long list of links relevant to the topic at hand. It helps a little in the execution phase and sometimes quite a bit in the "what's next" phase :)

      Delete
    2. Oh! And good luck with it -- it's incredibly rewarding!

      Delete
  31. In a book entitled _Honus and Me_, author Dan Gutman quotes baseball great Honus Wagner as saying, "The secret to being a great ballplayer is to trick yourself into thinking you already are one."

    Works for writing too :).

    Congrats!
    Janet | expateducator.com

    ReplyDelete
    Replies
    1. I've got to think that, just as with writing, that quote belies a ton of hard work. But yeah, there is definitely something to it :)

      Delete
  32. We all knew it. It's about time you noticed..

    ReplyDelete
  33. Thanks for sharing this post, very inspiring!

    How did you resist the urge to start on another project midway through the current one? That's an issue I face often! Did you just take up one big project at a time and force yourself to stick with it? Any tips/tricks you can share?

    Thanks again and so glad you shared this with all of us!

    cheers,
    Krishna

    ReplyDelete
    Replies
    1. For me, it was a combination of two things.

      The first was publicly committing to a big, hairy audacious goal (BHAG): http://japhr.blogspot.com/2011/04/my-chain-3.html. Having that looming for three months tended to drive all other shiny distractions from my brain.

      The second was the small bits of research every night. Had I attempted big pushes of research / writing, I would have burned out quickly. Slow and steady kept the momentum going and allowed me to synthesize my thinking from the night before (and the night before that).

      YMMV, but BHAG + slow and steady worked for me.

      Delete
    2. Thanks for that, Chris. BHAG + slow and steady, worth a try and I can clearly identify the "spurts of activity" followed by "vegging out" - peaks and valleys in my workflow right now.

      All the best and keep sharing...

      Cheers,
      Krishna

      Delete
  34. +1,000! I am also trying to learn this skill (writing to learn). Although "learning by teaching" might be an easier route, I am not just a speaker material (I just can't speak clearly enough!)

    ReplyDelete
  35. Quite an inspiration. I started my blog a few weeks ago and promised myself I would post every week :)

    ReplyDelete
  36. Awesome! Congratulations on a whole year! Wow. I tried doing it myself last year starting on July 1st of 2011. I've been trying to celebrate crazy holidays every day for one year in hopes of getting people to step out of their comfort zone and begin trying new things. I'm a really disorganized person with two jobs and it's been difficult because one of my goals was to post a video every day as well. It's been stressful and I've missed a lot of holidays that I really wanted to celebrate but couldn't because of my bad planning. I'm about to wrap it up but the fans are encouraging me to go for a second year because I feel like I kinda failed. The support, stories and new friends have been AMAZING over this year-long crazy idea. But I think year two will be INCREDIBLE! I enjoyed reading about YOUR idea and smiled knowing I'm not the only crazy one. For those thinking about doing something like this? Just start...seriously...it's the hardest part. Once it become a part of your daily ritual, it's hard to stop and you'll find a lot about how amazing you can be. Thanks for sharing and good luck to everyone who decides to just go for it and stop thinking about going for it.
    The Celebrate! Project: http://celebrateproject.tumblr.com/

    ReplyDelete
  37. So, congratulations.
    Next accomplishment will be to move your blog and personal writing off a website you don't control, and truly build a brand for yourself on your own domain?

    ReplyDelete