Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant

I Wish These People Updated More Than Once a Year

[addendum: for those of you coming here from Daily Grind #1181, there's also a followup that checked up on the posts from the original people who've responded to the call thus far.]

Be prepared - this blog post is the beginning of a movement that might *change the world*.  By the time you get to the end, you'll see why.

There are two ways to help yourself accomplish a goal:
a) write it down (as we've discussed earlier)
b) share it with someone else

Today I am doing *BOTH*.  In fact, I'm sharing this goal with everyone who stumbles across this post. 
It's one thing to set a goal for yourself, but making it public takes you into a new level of accountability.  Now I am no longer accountable to just myself - now I am accountable to everyone else who regularly reads this blog. 

Among many of his other tips for becoming a better developer, JP Boodhoo advises reading one new development book a month.  I am going one better and making it public: I am telling you all now that I am going to to read (and *comprehend*) a new development book every week for the next 6 months

Yes, that's right, by October 21st, 2007 I will have read a total of 27 development books.

I will read 27 development books by October 21, 2007.

Some of you are reading this and thinking I'm crazy, and that this is impossible.  Even more of you no doubt think it's even crazier for me to publically commit to it.  That's fine - but I'm going to prove you wrong.  What sort of a goal is "Well, maybe I'll read a new development book every week for 6 months if I get some spare time?"  BULL.  That's a wishy washy goal that involves no commitment and no real pushing - no real stretching outside of the comfort zone.  "Hopefully I can get this done?"  *Forget it*.  I am *definitely* accomplishing this and that is not wishful thinking - that is a fact.

You can see my reading list below, along with the date I plan to have finished each book.  I still need your help, however; the astute among you will notice that the bottom four entries are the ever-fascinating "???".  This is where *you* have a chance to help guide my destiny.   I need four other books to read and I need the community's advice as to what it should be.  And before you mention it, I know that "Code Complete" is missing from this list; so is Rapid Development, as I have read/re-read both books about 25 million times.

April 23rd: Beyond Code [my review]
April 30th: Head-First Design Patterns (re-read) [my review]
May 7th: Applying UML and Patterns [my review]
May 14th: Working Effectively With Legacy Code [my review]
May 21st: Refactoring [my review]
May 28th: The Pragmatic Programmer [my review]
June 04th: Domain-Driven Design
June 11th: Patterns of Enterprise Application Architecture
June 18th: Enterprise Integration Patterns
June 25th: Applying Domain Driven Design and Patterns, with examples in C#
July 2nd: Refactoring to Patterns
July 9th: CLR Via C#
July 16th: Mastering Regular Expressions
July 23rd: Mac OSX: The Missing Manual
July 30th: .NET Framework Annotated Reference Vol 1
August 6th: .NET Framework Annotated Reference Vol 2
August 13th: Algorithms in Java
August 20th: The Algorithm Design Manual
August 27th: The Little Schemer
September 3rd: Windows Presentation Foundation Unleashed
September 10th: My job went to India: 52 ways to Save Your Job
September 17th: Javascript, the Definitive Guide (5th Edition)
September 23rd: CSS, the Definitive Guide (3rd Edition)
September 30th: ???
October 7th: ???
October 14th: ???
October 21st: ???

So, ladies and gentlemen?  What else do you want me to tackle on my literary odyssey? 

For that matter, what are *you* doing over the next 6 months to improve yourself as a developer? 

With that, let's talk about the world-changing part.   You've seen those "tag" posts where we share 200 facts about us that aren't well known or variants of that.  This time the tagging *starts* with me, but I am going to make this a slightly more productive exercise.  I want everyone who I tag with this post to:

a) write a post about what *they* will have done 6 months now in becoming a better software developer
b) tag 4 other people and get them to do the same.

To start this off, I'm tagging Donald Belcham and the three guys who tagged me previously: D'Arcy Lussier, James Kovacs, and George Clingerman!  Special bonus tag to Jason Row since I know he loves getting tagged on these things.

If you think this is all crazy and aggressive, I've got news for you; I'm just getting started.  Wait until you see the goal I am posting *next week*.  Trust me - you've been warned.



Tuesday, April 17, 2007 #
Comments [31]   Goals | Personal | Productivity | Technical  | 
Tracked by:
"Read any good books lately?" (Jean-Paul S. Boodhoo's Blog) [Trackback]
"Read any good books lately?" (Jean-Paul S. Boodhoo) [Trackback]
"Read any good books lately?" (jemos - Clint Caraway) [Trackback]
"Beyond Code, The Totally Hetero Review" (Gray's Matter) [Trackback]
"How I am becoming a better developer in 6 months" (D'Arcy from Winnipeg) [Trackback]
"In 12 weeks, everything changes" (Gray's Matter) [Trackback]
"6 Months to a Better Developer You" (D'Arcy from Winnipeg) [Trackback]
"Challenge" (Kelly Cassidy) [Trackback]
"Can You Rebuild Yourself, By Sheer Force of Will?" (Tales from the SharpSide) [Trackback]
"Micro-decisions, as easy as 1 + 2 - 3 = 6 (No, for real)" (Tales from the Sharp... [Trackback]
Gray's Matter [Trackback]
"Martin Fowler's Refactoring - the book that brought me *back to life*" (Gray's ... [Trackback]
"What I'm doing to become a better developer ...." (Jason Row) [Trackback]
"How I didn't become a better developer" (George Clingerman) [Trackback]
"An update on goals" (Gray's Matter) [Trackback]
"Being a Better Developer... in 6 months" (Fear and Loathing) [Trackback]
"How I'm, sigh, going to become a better developer" (Jeremy D. Miller -- The Sha... [Trackback]
"6 months. . . to become a better developer" (Jeffrey Palermo [MVP]) [Trackback]
"Becoming a Better Developer" (James Kovacs' Weblog) [Trackback]
"Applying UML and Patterns: They can't all be winners" (Gray's Matter) [Trackback]
"What I am doing to become a better developer" (Raymond Lewallen [MVP]) [Trackback]
"Hanselminutes Podcast 72 - Be a Better Developer in Six Months" (Scott Hanselma... [Trackback]
"What are you doing for the next 6 months?" (5thPercentile.com devBlog) [Trackback]
"My Six Month Roadmap to Becoming a Better Developer " (Caffeinated Coder) [Trackback]
"What I am doing to become a better software developer?" (HMK's Spurious Thought... [Trackback]
"Micro-decisions, as easy as 1 2 - 3 = 6 (No, for real)" (Tales from the Sharp... [Trackback]
"Can You Rebuild Yourself, By Sheer Force of Will?" (Tales from the SharpSide) [Trackback]
"My Chat with Justice Gray - Be a Better Developer in Six Months" (Canadian Deve... [Trackback]
"My Chat with Justice Gray - Be a Better Developer in Six Months" (Noticias exte... [Trackback]
"A fireside chat with Justice Gray" (Gray's Matter) [Trackback]
"What DevTeach 2007 is missing at DevTeach 2007" (Gray's Matter) [Trackback]
"A better developer in 6 months" (Work vs. Play) [Trackback]
"newslink pentru iulie 2007" (Andrei Ignat Blog) [Trackback]
"Design Tips and Suggestions" (Design Tips and Suggestions) [Trackback]
"Business Ideas Forum" (Business Ideas Forum) [Trackback]
"Reading to Be a Better Developer - The Coding4Fun DevKit" (Scott Hanselman's Co... [Trackback]
"Devenir un meilleur d" (Dominic St-Pierre) [Trackback]
"BlogDay 2007" (Dotmad) [Trackback]
"I think reading is ruining my job" (My Head's Exploding) [Trackback]

4/17/2007 2:47:17 PM (Mountain Daylight Time, UTC-06:00)
Hmm...I thought you said that you were going to read development books, not toy manuals ("This is how you open up Finder in Mac OSX...this is how you play a song in iTunes in Mac OSX...this is how you make a funny picture using PhotoBooth in Mac OSX...).

:P

Good post...I'm up for the challenge!

D
4/17/2007 2:52:21 PM (Mountain Daylight Time, UTC-06:00)
On a truly serious note, here are some other books I'd suggest reading (not necessarily developer books, but good management-style):

5 Dysfunctions of a Team

The No Asshole Rule

Emotional Intelligence and Your Success

D
4/17/2007 3:14:28 PM (Mountain Daylight Time, UTC-06:00)
CLR via C#, in one week?????
Refactoring to Pattern, in one week??????????
Man, these are difficult books
Your enthusiasm is effecting me.
techembassy
4/17/2007 3:21:38 PM (Mountain Daylight Time, UTC-06:00)
D'Arcy - those sound like pretty good books; I may add them to the list after seeing the rest of the feedback.

Tech Embassy - you're an inspiration to me, and I mean that legitimately! So for you to be affected by *my* enthusiasm is very flattering indeed.

They may be difficult books but I know I can do it.
4/17/2007 3:54:06 PM (Mountain Daylight Time, UTC-06:00)
Mythical Man Month: http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=pd_bbs_sr_1/102-4498234-0072154?ie=UTF8&s=books&qid=1176846697&sr=1-1

Peopleware: Productive Projects and Teams: http://www.amazon.com/Peopleware-Productive-Projects-Tom-DeMarco/dp/0932633439/ref=pd_bbs_2/102-4498234-0072154?ie=UTF8&s=books&qid=1176846713&sr=1-2

Essential .Net: http://www.amazon.com/Essential-NET-Common-Language-Runtime/dp/0201734117/ref=pd_bbs_sr_1/102-4498234-0072154?ie=UTF8&s=books&qid=1176846680&sr=1-1

Software Factories: http://www.amazon.com/Software-Factories-Assembling-Applications-Frameworks/dp/0471202843/ref=pd_bbs_sr_1/102-4498234-0072154?ie=UTF8&s=books&qid=1176846655&sr=1-1

Agile Project Management with SCRUM: http://www.amazon.com/Agile-Project-Management-Microsoft-Professional/dp/073561993X/ref=pd_bbs_sr_1/102-4498234-0072154?ie=UTF8&s=books&qid=1176846637&sr=1-1

Software Engineering with VSTS: http://www.amazon.com/Software-Engineering-Microsoft-Visual-Development/dp/0321278720/ref=pd_bbs_sr_1/102-4498234-0072154?ie=UTF8&s=books&qid=1176846604&sr=8-1
4/17/2007 5:29:41 PM (Mountain Daylight Time, UTC-06:00)
The Kama Sutra
4/17/2007 10:20:49 PM (Mountain Daylight Time, UTC-06:00)
I want to get this one (i.e. let Justice buy it then borrow it):
Refactoring Databases

http://www.amazon.com/Refactoring-Databases-Evolutionary-Addison-Wesley-Signature/dp/0321293533/ref=pd_bbs_sr_1/104-9904390-4794364?ie=UTF8&s=books&qid=1176869945&sr=8-1
4/17/2007 10:25:15 PM (Mountain Daylight Time, UTC-06:00)
I'm surprised there are no open source books. Like books on php etc ?
4/17/2007 10:25:22 PM (Mountain Daylight Time, UTC-06:00)
Hmm, I like Jeff's idea of the Kama Sutra. What would be really sweet is a special edition of Martin Fowler's Refactoring book in which each refactoring is illustrated by a different position from the Kama Sutra :)
4/18/2007 5:24:22 AM (Mountain Daylight Time, UTC-06:00)
Chris: I would've actually had the Ruby and Ruby on Rails book on here, except that I've already read them. However, they might deserve a re-read so I may give that some thought. Are there some particular OS books you'd recommend?

Jeff & Vlad: Man, do I ever wish I worked with the two of you. I definitely think the Kama Sutra + Refactoring idea is a brilliant one though...we'll see if I can't work it in somehow. ;)

David W: I'm sorely tempted to get that one - of course by the time I hit it in the reading list it will have been 5 months or so! Are you sure you can wait that long?


4/18/2007 1:51:25 PM (Mountain Daylight Time, UTC-06:00)
I notice that you left comprehension out. that will go a long way to tearing through all those books.
4/18/2007 2:04:12 PM (Mountain Daylight Time, UTC-06:00)
HAR HAR!!

Sheesh ;) I've updated this post to clarify that I plan to *comprehend* these books as well.
4/18/2007 9:57:07 PM (Mountain Daylight Time, UTC-06:00)
I would recommend

http://www.unix.org.ua/orelly/perl/cookbook/

The book contains techniques which could be applied to other programming languages as well

and

PHP and MySQL Web Development by Luke Welling and Laura Thomson

4/20/2007 9:22:37 AM (Mountain Daylight Time, UTC-06:00)
"I would've actually had the Ruby and Ruby on Rails book on here, except that I've already read them."

I forgot you had that still. Can I have it back so I can re-read it?
4/20/2007 9:36:23 AM (Mountain Daylight Time, UTC-06:00)
LOL!! I actually thought I had bought that book.

This makes me wonder how many other books I "own" that I really don't...should I even be posting this comment here? =)
4/20/2007 11:09:07 AM (Mountain Daylight Time, UTC-06:00)
Code Complete 2 is more up to date.

FIT is a great idea and really helps close the communication loop in software development. Take a look at the FIT book by Mugridge and Cunningham.
4/20/2007 9:53:25 PM (Mountain Daylight Time, UTC-06:00)
I'm down. I'll do it. I don't have some of the books, so I'll just read the ones that I've bought (but haven't read yet) until the others that I'll order come in.
5/19/2007 1:31:10 AM (Mountain Daylight Time, UTC-06:00)
I think you are crazy like a horse...

you could add Applying UML and Patterns, by Larman
very good book ;-)
5/19/2007 8:14:35 AM (Mountain Daylight Time, UTC-06:00)
Paolo - it's funny you mention Applying UML and Patterns . You'll find out why in several days. ;)

7/9/2007 9:36:12 AM (Mountain Daylight Time, UTC-06:00)
I admire your enthusiasm and commitment, but don't you think that some of these books will take more than one week of time to adequately read and comprehend?

If you really think that any technical book can be read in a week, I'd suggest adding Knuth to your list. I'd be impressed if you can knock through a volume of Knuth a year.
7/9/2007 3:41:24 PM (Mountain Daylight Time, UTC-06:00)
Michael - in a couple of cases (like Applying UML and Patterns) it took me slightly longer than a week. However, that gets made up with for things like Pragmatic Programmer which I knocked off in about a day or two. It all balances out - it also heavily depends on the writing style used. For the most part the books I've read thus far haven't been overly dry so it's made it simpler.

I've thought about Knuth but for the reasons mentioned above I may tackle that one later on.

7/9/2007 3:42:26 PM (Mountain Daylight Time, UTC-06:00)
I should also add (although I don't make a big public deal about it) that I can read quite fast, which works its advantage when I have to churn through books in a short time span.

7/13/2007 12:20:00 PM (Mountain Daylight Time, UTC-06:00)
Nice goal! I wish I had the speed and dedication to pull off a similar feat.

I recommend the following:
1. Designing Effective Database Systems by by Rebecca M. Riordan (Addison-Wesley)
2. How to Win Friends and Influence People (Negotiation skills are still very applicable to the overall development process. The Emotional Intelligence book is very good too)
3. Great Software Debates
4. 19 Deadly Sins of Software Security
5. Don't Make Me Think: A Common Sense Approach to Web Usability (or The Design of Sites)

Have fun :D
7/13/2007 1:17:31 PM (Mountain Daylight Time, UTC-06:00)
Chrissy - Actually, I'm pretty sure Hubbs (Justice) has already read #2 at least twice. He is a speedy reader and can fly through books at crazy speeds *and* remember the content. #4 sounds intriguing.
8/15/2007 11:00:25 AM (Mountain Daylight Time, UTC-06:00)
only book worth reading is Little Schemer from your list.
8/15/2007 11:05:46 AM (Mountain Daylight Time, UTC-06:00)
Hit hacker - you don't even like Pragmatic Progammer?? What books *do* you like? You're an ocean full of hate!
8/27/2007 8:45:29 PM (Mountain Daylight Time, UTC-06:00)
I thought everybody read a technical book a week!? :) I do this on a routine basis - no, seriously - as well as try to take a class a semester (even if it's through the local community college).

Books I am in the process of reading, and can recommend:

The Art of Software Testing
http://books.google.com/books?id=tzI4S5x5smkC&dq=&pg=PP1&ots=S4sT0OrAcH&sig=jPRlsCepBXrUpzAQxKz-jXkX7TM&prev=http://www.google.com/search%3Fclient%3Dsafari%26rls%3Den%26q%3DThe%2BArt%2Bof%2BSoftware%2BTesting%26ie%3DUTF-8%26oe%3DUTF-8&sa=X&oi=print&ct=title

Software Requirements
http://www.amazon.com/Software-Requirements-Second-Karl-Wiegers/dp/0735618798/ref=pd_bxgy_b_text_b/103-2994380-2991030

Pro CSS and HTML Design Patterns
http://www.amazon.com/Pro-CSS-HTML-Design-Patterns/dp/1590598040

The Guru's Guide to Transact-SQL
http://www.amazon.com/Gurus-Guide-Transact-SQL-Ken-Henderson/dp/0201615762

And to come...

The Data Modeler's Workbench
http://www.amazon.com/Data-Modelers-Workbench-Techniques-Analysis/dp/0471111759

UML for the IT Business Analyst: A Practical Guide to Object-Oriented Requirements Gathering
http://www.amazon.com/UML-Business-Analyst-Object-Oriented-Requirements/dp/1592009123

The Art of Project Management
http://books.google.com/books?id=q1dJZv4Ycr8C&dq=&pg=PP1&ots=_JsMLRrWlk&sig=qiBSWe7qFAzItHQspKqH5E6xIl4&prev=http://www.google.com/search%3Fclient%3Dsafari%26rls%3Den%26q%3DThe%2BArt%2Bof%2BProject%2BManagement%26ie%3DUTF-8%26oe%3DUTF-8&sa=X&oi=print&ct=title


12/7/2007 7:55:59 AM (Mountain Standard Time, UTC-07:00)
You hought that everybody reads a technical book a week!? omg were stupid ! that's right.
12/13/2007 8:03:19 AM (Mountain Standard Time, UTC-07:00)
Man, your cool but how can you manage that, cause i want to do it but i defenetly dont havethe time ... i work from 9 to 19 and have classes after that when i get home my eyes are burning my lens are dry my limbs look Postal 2 explosions alike... and i woke up every day late for work, for what i count i have like 10 hours per week(besides weekends but its spend out with girlfriend tasks and chors and deeds and whatever she may require ;) if i dont do that in the wkend she probaly just ruin my next week with bumbling in my ear) to spend in books and side projects. Any idea?
12/13/2007 8:09:14 AM (Mountain Standard Time, UTC-07:00)
well i could just not do my work and start reading...( my desk is just in front of the shelf(?) i dont even need to get up to pick up a book)
4/1/2008 8:08:35 PM (Mountain Daylight Time, UTC-06:00)
http://www.jamespeckham.com/blog/default.aspx?id=81&t=Refactoring-Part-7-Replacing-conditiona

did some refactoring blog entries for .net developers
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):