Wednesday, July 15, 2009

What did you do today?

I recently helped pour some concrete as part of a project with some extended family members, quite a change from the usual comfortable office environment where I do embedded control system development work. It's fun to do something different once in a while, it gives you a different perspective on things.

As I considered the permanence of the concrete we poured, worked, and finished that day, I realized that there is also a lot of permanence in my day-to-day work. While the constant flow of new products, new features, and new customers makes for interesting work, with new challenges, I realized that the firmware and hardware I (and my colleagues) develop (and the company sells) will be running continuously for many years. Will it run as long as the concrete lasts? Probably not in a device sold today -- after all, the microcontrollers that run the code only have a memory life of 100 years or so, and probably won't be around that long, on average. However, the same code I write today will probably be programmed, in one form or another, into devices over the next 20 or more years. Over the lifespan of the controller, it could save many millions of kWh of energy (and of course, lots of money and energy-related emissions). That's something to be proud of, I think.

So what did I do today? A lot more that you might think, just looking at the code.