Thursday, July 24, 2008

The most important lesson I learned working with a chief architect

A number of years ago I had the opportunity to work with my company's chief architect fixing a defect in a product.
The chief architect was widely respected among the developers. Prior to the project, some buddies and I discussed how cool it would be to work right under this guy for a while. I really enjoyed the opportunity to get to work directly with him for about a month.
He taught me plenty of principals about how to make solid design decisions and how to think strategically. It was also pretty cool not having to go through the regular architectural reviews while I was working with him.
The most important thing he taught me though is that even he can be wrong sometimes. There was one API that we used in our project. It was not entirely documented, however the Chief Architect told me he was confident that it returned values in a sorted collection. In all of our tests that was the case. I had some doubts, but when he told me that he was confident I assumed that he knew.
About six months later I found out that that was not the case and a painful fix needed to be made. He was cool enough to take responsibility for the erroneous advice, but I still felt that I could have prevented the issue.
Since then I don't take people's recollections at face regardless of the level of respect that I have for them. If I am even slightly uncertain about something I seek definitive proof.

No comments: