Monday, July 16, 2007

Become a Better Developer... in 6 months

I just listened to the latest Hanselminutes podcast: Be a Better Developer in Six Months
Scott Hanselman asks “what are you going to do in the next 6 months to become a better developer”?
He suggest reading books, nerd dinners, having lunches together with other non competitive companies, watch webcasts together during lunch and code reading.

Here is what I am going to do for the next 6 months

I am going to read a technical book every 10 days
and review every single book

That should be possible now that my twins are one year old (tomorrow). I have a bit more free time at night to read. Here is the list of books, some of them I have read, some I have partially read.

Code Complete (reread)
I think this is one of those books that you should read once a year.

Practices of an Agile Developer
Some good stuff in here, in ordered it a couple of months ago but did not read it yet.

Inside Microsoft SQL Server 2005: T-SQL Querying (partial reread)
I read several chapters but did not read the whole book.

Inside Microsoft SQL Server 2005: The Storage Engine (reread)
I have read parts of this one; I have read the 2000 edition several times.

Refactoring (reread)
I was thinking Design Patterns (GOF) or this one. As you can see I have chosen Refactoring.

Why refactor when you can prefactor? I just skimmed through it in the book store and it looks promising.

Open Sources 2.0
Open Sources 2.0 is a collection of insightful and thought-provoking essays from today's technology leaders that continues painting the evolutionary picture that developed in the 1999 book Open Sources: Voices from the Revolution.

Pragmatic Unit Testing in C# with NUnit
New edition.

Building the Data Warehouse (reread)
Read this one several years ago, will read it again

Expert SQL Server 2005 Integration Services
Will read this together with the one below at work; have to convert about 60 DTS packages to SSIS.

Microsoft SQL Server 2005 Integration Services

Beautiful Code
In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.

Pro SQL Server 2005 Database Design and Optimization (reread)
Read this will read it again

The Art of SQL
Heard some good stuff about this book.

Getting Things Done
We all need some help with organizing our lives.

Lifehacker (reread)
Getting ThingsDone for the computer person, very useful stuff inside.

Framework Design Guidelines (reread)
Very nice book, you will learn why something was done a certain way. Good tips on what to avoid and what should be done.

New language Book probably Python or Ruby( you decide)

Here is a pic of the books I have at home, the others I have at work or I still have to purchase them.

I will watch 2 web casts a week during lunch time and review those also.

I will look at high quality source code from open source projects and also from the book Beautiful Code. I will go to CodePlex to download a couple of open source projects and will study the source code

I will learn a new language (I actually got this from Ken Henderson who suggests to learn a new language every year) and rewrite one of the current applications in that language. This way I don’t have to worry about logic problems and design, I just have to translate the code.

I will learn a new technology. I am thinking either WCF or WPF

I will keep updates on Pownce (sorry folks no invites left) everyday The reason I am doing this is so that someone can call me out in case I don’t keep my promise. This is similar to stopping smoking but not telling anyone, if you do that then who knows you stopped so that they can confront you?

I know this is cheesy but I will do it anyway, I will tag 5 people I (kind of) know and I want them to tell us their plans.
Adam Machanic
Louis Davisdson
Peter DeBetta
Mladen Prajdic
Hugo Kornelis

And I will tag 5 people whose blogs I read but I don’t know them
Jeff Smith
Jason Gaylord
Jeff Altwood
Matija Lah
Ward Pond

And you the reader, what will you do in the next 6 months to become a better developer?

Cross posted from here:


Anonymous said...

For the language book I would suggest "Programming Ruby: the Pragmatic Programmer's guide" by Dave Thomas. One of the best language learning books out there.

Anonymous said...

Wow, this goal looks familiar! ;)

Best of luck with it. I know you will do well!

Anonymous said...

If you just "translate your code into a new language", you won't learn a new language, you'll just learn new syntax. ("A Fortran programmer can program Fortran in any language") If you really want to learn a new language, don't try to translate old code and old ideoms into the new language. Learn the ideoms of the new language, hopefully you can translate the useful ones back to your own language.

Denis said...

>>If you just "translate your code into a new language", you won't learn a new language, you'll just learn new syntax.

I guess I wasn't that clear. What I meant to say is something like this: I don't have to waste time figuring out what should happen when a user clicks on button x or enters data in input box y, this won't change, I only have to worry about how to code that in the new language. And yes I will use the ideoms of the new language of course.

Denis said...

Justice, yes I did borrow this from your page. Although I am not as ambitious as you with 1 book a week I think this is more manageable for me. BTW your bio is great


Anonymous said...

You have a couple of nice books on your reading list - some of which I need to read. I would maybe recommend one or two other books as well.

Programming Pearls - Bentley
Coder To Developer - Gunderloy
Pragmatic Programmer - Hunt & Thomas (I know you already have one of his books on this list and anonymous recommended another but, I enjoyed it)

But as for me... I just graduated from school so priority number one is simply to code as much as you can (I find that there is somewhat of a disconnect between an academic setting and the real word).

The only other thing I would throw in to the list is learn a new framework or two. There are a number of frameworks out there that are worth while learning and a great way of doing some of this is to incorporate them in to new projects.

Good luck - nice post.

Prem Sagar said...

Hey Buddy,
Thats a great list you have!

And a great idea to be a better programmer in next 6 months! I am gonna steal this idea from you and try it out myself!!!

Call it coincidence, as I am typing this, I am having Getting things done on my desk!!

And my read list goes like this:
1. SQL Tuning by Dan Tow
2. Getting Things done by David Allen
3. SQL Cookbook
4. The datawarehouse ETL toolkit by Ralph Kimball.

By the way, if you like reading a lot, try Good to Great by Jim Collins, Winning by Jack Welch, First things first by Stephen Covey (this one is on Time management and is similar to Getting things done)...

They are some favorites of mine!!


Denis said...

I updated my progress here Becoming A Better Programmer In 6 Months: The First 10 days