Sunday, August 12, 2007

The Pragmatic Programmer


The last two weeks where great! It was a rare period in my life where I was actually unemployed. Alas, I slept even less hours then I normally do. One of the highlights of this period is the hike to the top of Half Dome in the Yosemite. Considering the fact that most of my physical exercise in the last few years was moving around a laptop, its not half as hard as I expected. More details and pictures on the smiteam blog.

The book of this week is The Pragmatic Programmer. In my opinion every programmer should read it at least once, preferably once a year.
Like the Design Patterns book and the Worse is better article, It is one of the classics that will be relevant for decades to come. Though we are still being hit by waves of "programming without coding" prophecies, I do believe that the essence of the book will be relevant for long time.

The things I found most appealing in the book where:

  • Use Tracer Bullets to Find the Target: I like tracer bullets a lot. At night, in real life combat when chaos is all around, communication is blocked, and all the nice high-tech toys we had stopped working it was the only way we could see what we're doing and communicate it to the rest of the team. You can see similar things in rapid development projects where you enter a new territory.
  • Don't Live with Broken Windows: Fix bad designs, wrong decisions, and poor code when you see them.
  • Be a Catalyst for Change: You can't force change on people. Instead, show them how the future might be and help them participate in creating it.
  • Remember the Big Picture: Don't get so engrossed in the details that you forget to check what's happening around you.
  • Invest Regularly in Your Knowledge Portfolio: I usually refer to it as "Sharpening The Saw", that fable from the 7 Habits of Highly Effective People won me over.
  • Critically Analyze What You Read and Hear: Don't be swayed by vendors, media hype, or dogma. This one is not that easy.
  • DRY–Don't Repeat Yourself: copy-paste is the root of all evil.
  • Keep Knowledge in Plain Text: I have some problems with this once since I'm a fan of GTD softwares, WIKIs, and MindMaps.
  • Design to Test: Start thinking about testing before you write a line of code.

Sunday, August 05, 2007

Good is the enemy of great...

Just came back from lake Tahoe. I'm in my mid-unemployment vacation now and I'm more busy then when I did work! Anyway, I have a brief trip report and pictures posted on the family site.

Next book I'll mention is Good to Great of Jim Collins (read his Built to Last too). Next I'll mention none business books too, I do have some programming and lifehacking books in my stack.

Like any other book of this type, Good to Great has a lot of very interesting stories. But in this book he really tries to emphasize the research his team made and why the reader should trust the book's conclusions. Though there are some questions about the research itself, I do think he is right about the basic concepts:

  • Level 5 Leadership - Makes you think what do you need in order to get there (if at all)
  • First Who... Then What - Very important. You can't think about everything, and you should take it as a fact that your plans will change. In the long run, only the right people in the right places will make it a win.
  • Confront the Brutal Facts - and we know we like to hide from them. The main conclusion is don't get sentimental with your own doing. Be ready to look for a new cheese even if you really love this one.
  • The Hedgehog Concept - I liked this one. The bottom line if FOCUS.
  • A Culture of Discipline
  • Technology Accelerators - as a techie its hard to digest, but I know its true. Technology is never a silver bullet. it will help you a lot, but its not enough.
I have nothing smart to say about these concepts other then that they do help you understand concepts and put them in a box. I see these concepts similarly to programming design patterns. In their classical book, the GoF helped us think clearly about how we design our code. Good to Great help us in similar ways to think about our none technical decisions.

The best thing I liked about the book its the slogan "Good is the enemy of great". Its very easy to get into our own comfort zone and being good is usually pretty easy. On the personal level, one of the ways I look at it is - having peaceful life is the enemy of having real fun.

Have fun!

Wednesday, August 01, 2007

The Tipping Point


I'll start blog about few book I've read so I'll be able to keep some reference for where did I get some of my odd ideas. You may call it my recommendation list.

First would be The Tipping Point: How Little Things Can Make a Big Difference by Malcolm Gladwel who's other book Blink I also read and liked. The only reason I'll start with this book is that its most relevant for my latest career change. I.e. The Tipping Point is a lot about social networks and what effects do they have on the Life, Universe, and Everything. If anyone would ask me what business impact do social networks have and why should anyone invest money in it, I would first point him to this book.
The most relevant aspects of the book to on line social networks are:

  • "The Law of the Few" where he describes the three types of people (connectors, mavens, and salesmen).
  • "Law of Context" where he talks about the environment in which a message spreads.
Locating the connectors, mavens, and salesmen in groups, and understanding the spread of messages is extremely valuable. Providing one has some information about the network and can extract information out of it, you may have a potential gold mine.

New chapter

Today was my last day in IBM. After about seven years, working in two sites (Haifa and Almaden), and tons of interesting project - it was over.
View Eishay Smith's profile on LinkedIn

Anyway, I'll take now two weeks off.
First thing tomorrow morning I'm headed to Lake Tahoe with a tent and a jumping toddler. After few days of camping I'll head to the Yosemite. I'm planning to run from the valley floor to Half Dome and be back way before sunset. For the Yosemite I have no reservation. I hope to get there early enough to catch a tent camping site for early come early serve, wish me luck ;-)
I'll probably post about it in the Smiteam blog / gallery.

Creative Commons License This work by Eishay Smith is licensed under a Creative Commons Attribution 3.0 Unported License.