Thursday, February 11, 2010

Hello World!

Hello World is the first program a coder reads/writes when learning a new programming language. It's entirely appropriate my first entry in my new blog. I'm still thinking about all of the things I want to blog about. As the name of the blog implies, there is definitely going to be a lot about riding my bicycle or others riding/racing their bicycles. There will be the occassional race report as well as the occassional race rant.

Other topics will be software development, life, random musings and shoutouts (blogouts?) to others that are doing great things in the blogosphere.

So my plan tonight was to grab a quick dinner on the way home, let the food settle, let the dogs out, then jump on the trainer for 1.5 hours. Then I checked the work crackberry, which led to a code review, which led to a few very long emails (with more to come). The ride did not happen, which is irritating. It's my own fault. I violated my basic rule of "get on the bike before you do anything else."

The code review was a bit frustrating. The developers are offshore in India. The offshore team is a bunch of bright, eager individuals. But they are bright, young individuals without a lot of experience. They have been indoctrinated in the cult of "get it done, and get it done quickly." I want that too, but I also want it done well. This leads to the inevitable clash of desires. The developers are looking for "templates", where they can code within a well defined framework without giving it a lot of thought. Unfortunately, coding does require some thought.

I review the code, point out that such and such class has too many reponsibilities, or that the concepts that have been derived from the requirements are not quite the ones that immediately pop out as rational ones. This leads to a couple of hour meetings, and few more hours of crafting emails to further elaborate my points.

Fortunately, the offshore team is willing to learn. It's going to make them better developers, and it's going to teach me a few more things about working with offshore teams. It would be even better if this knowlege transfer was going to an associate in my company. That would be an investment, where now I've just trained someone who may not work on my company's projects again.

That aspect of the offshore model is incredibly frustrating. The constant rotation of developers means I have to teach the same concepts many times to the new inexperienced developers that rotate onto the project, while the newly experienced developers go on to bigger and better things.

At least it adds fuel to the fire to turn the pedals faster.

No comments:

Post a Comment