Build Me Up Tear Me Down

It's rather a peculiar state of affairs, but one sign of a well maintained infrastructure is that there is always some part of it under construction.

Right now downtown Seattle is in various stages of de- and construction as crews build light rail. For as long as I've lived here in Seattle there have been at least one or two construction cranes busy erecting a new high-rise. And personal experience tells me that somewhere in the city there is always a street being torn up and repaved. All of this means Seattle is growing and actively being cared for.

The same holds true for software infrastructure. Our automation stack will never be complete but rather is continually being reorganized and rebuilt and added to and subtracted from in order to evolve it to fit the needs we have today. Our dev team is doing the same to our product's codebase, constantly carrying out small revisions and occasionally performing major renovations as they fix bugs and implement new features. And the whole team does the same to our various processes, changing those that aren't working as well as we would like to make them work better.

This is true for people's skills as well. An important factor when I evaluate both people on my current team as well as candidates I interview is what they are doing to keep their brain in tip-top shape. The best devs and testers read everything that might be remotely relevant to their work, have probably multiple side projects and investigations going, and actively look to learn from people smarter than they are. One of my current projects is learning Haskell, which is making my brain hurt worse than anything else I can remember. The brain is a muscle, and just as with any other muscle you have to push it past its comfort zone in order to make it grow.

If you look at something (city, design/code, organization, person) and don't see any de|construction going on then it's either dying or dead.

*** Comments, questions, feedback? Want a fun job on a great team? I need a tester! Send two coding samples and an explanation of why you chose them, and of course your resume, to me at michhu at microsoft dot com. Great coding skills required.