Book Club: ProGit

May 28, 2010

Book Club Foreword

A couple years ago I brought up the idea of doing a book club here at SEP because I had participated in a couple before coming to SEP, but we called them SEDG (coined by Steve McConnell in Professional Software Development).  I don’t really like that term, so we called it book club instead.

We start up a new round a couple times a year, and small groups (3-8) break off and read different books (normally technical) that are interesting to them.  We normally get together for an hour once a week to discuss/debate the chapter(s) we read for that week.  I’ve participated in several including DDD (Evans), Code Complete 2 (McConnell), Programming Clojure (Halloway), and now Pro Git (Chacon).  It’s a lot of fun, and I always learn a lot about the content of the book, and about the people I participate with.

I’d highly recommend starting one at your company, or in your community, it’s a great way to connect with people and learn new things at the same time.

The Book

First off, the book is available for free, online at  It’s also hosted in a repository on github, and there is an easy script to get it onto your kindle (with a little hacking of the script), so that was a win for me: *free *AND kindle-ized.

I participated with Matt (@spraints) and Todd (@snibble) (both of which know more about git than I do… Matt wrote git-tfs, and Todd is working with git on a REAL project).

I’ll follow Raman’s Recipe to keep this short and simple.  I’ll also mix-in the book club aspect to each section.

What’s the point? Become a git ninja (or at least be able to play one on TV at work).  Learn how to use git effectively, and give you the tools (ideas, knowledge, know-how) to give you a framework on how to effectively use it in your context.  The cool thing about git, is that it gets out of your way and lets you work the way you and your team want to… not the other way around like SVN, TFS, P4, etc.  It was also a great way to leech off of Matt and Todd’s knowledge.

How was it? Great.  Scott (author) certainly knows how to git down (I’ll be here all week ;)).  I feel comfortable participating on a project that uses git (hey look, I am already!), and also feel comfortable making recommendations about using git (e.g. “You should use git!”), though, I do still get lost in hairy situations every once in awhile (thanks Matt for always saving me!).  We had some good discussions on how it relates to us as company, and how we might use it.  We also had some good discussions on schoolin’ me, so that was always good.  The book contains lots of examples, with corresponding diagrams to help n00bs like myself understand what’s going on.

Who should read it? Any developer planning on staying a developer for the next few years.  DVCS seems to be on an up-tick, and I don’t really see it going away anytime soon (but hey, what do I know?).  I don’t think you’ll be able to get by effectively in a DVCS world unless you’ve done at least some reading on the subject.