Thursday, February 21, 2008

Twenty Years

Last month, I celebrated twenty years at National Instruments.

One of the first things I learned about software development at NI is that food plays a prominent role. Back in the early days, it was mostly Double-Stuf Oreos®.

Hardly a day goes by without someone sending out a food announcement email—bagels, doughnuts, leftover party food. There's almost always a reason for the food: an anniversary, or "Thanks to Kevin for helping me figure out this problem", or "I broke the build".

During one test day, someone wrote a LabVIEW application that sits in the system tray (multi-platform, of course) and pops up to let you know that someone has brought in food. It also showed you the shortest path from your desk to the food. Who says testing isn't fun?

For my fifteen year anniversary, I bought fifteen dozen Krispy Kreme® doughnuts and scattered them around several floors of the building I'm in. It's frighteningly easy to buy 15 dozen doughnuts. They didn't bat an eye. They did offer to help carry them to my car.

For twenty years, I made a couple of desserts, both from the Hotel Limpia (Fort Davis, Texas) cookbook. I made the most decadent chocolate brownies ever—containing about 20 pounds of chocolate and sugar. And in a feeble attempt to provide enough for everybody on the team, I made dozens and dozens of oatmeal raisin cookies.

But enough about food. That's not what keeps me coming back to this place every day.

Let's tie this all back to software engineering.

While software engineering is mostly about the process of developing software, one aspect of it has to cover how you get people to come into the office every day and do the work. Food is nice. Pay is important. But it's the cool projects that keep me coming back.

I'm working on a long-term project that I sooo want to be able to talk about. (Soon, soon.) I've been working on this project for a couple of years, and I still come in to work each day eager to work on it. What seemed like an insurmountable problem when I started is now within reach, thanks to a small and really good team we've put together.

A Sense of Urgency

There's a lot to be proud of as I look back over twenty years, but I come to work every day thinking about what's next. And maybe that's something to be proudest of—I helped build a software development process that is still one I want to be part of after twenty years.

I come to work every day with a sense of urgency. I think all good software teams do. It's not a sense of panic. Okay, maybe it occasionally approaches panic, but mostly it's under control. It's more wanting to relentlessly make progress, every day. A little bit more works every day, and soon we've worked past major obstacles. Celebrate briefly. And we keep going, because we're not done yet.

It's a whole lot like twenty years ago on the LabVIEW team. And that's a very good thing.

And my project is one of many. There are many other small teams here working on exciting things, with their own sense of urgency.

So I think it's pretty cool that after twenty years at the same job, I'm still having fun. We haven't run out of things to do. We haven't run out of ideas. We aren't "done" yet.


Yair said...

Congratulations. You've definitely created a worthwhile product and I know the feeling of wanting to work on something.

As a side point - "someone wrote a LabVIEW application that sits in the system tray (multi-platform, of course)".

How did they do this? I know of no native way to interact with the tray, only through OS API calls. Is there something I'm missing?

Brian Powell said...

I'm not sure how they did it, but I'm sure they made OS calls on Windows, and probably KDE calls on Linux.

Richard said...

20 years is awesome Brian. Thanks for loving NI and thanks for sharing the celebration with this great post.

Jim Kring said...

Thanks for the great work on LabVIEW over the years, Brian, and for sharing this wonderful story. Software development is and should be a very human experience. I agree that working with a great team on exciting projects that have a large impact (with a sense of urgency) is what it's all about :)

crelf said...

A huge congratulations on 20 years Brian - you've certainly been an important part of not only NI, but the test and measurement industry at large. I've always enjoyed your insight. One of the reasons that I go to work every day is that sense of urgency I have when working with my team too - whether it's the completion of a 80 test system line or a neat implimentation of a little OO component, it's the mental stimulation of working with like-minded talented individuals (like yourself) that keep me coming back for more :)

Here's to another 20 years!

cheers mate,

mr2fast said...

congrats on 20 yrs!

could you post the VIs that accessed the system tray?

Brian Powell said...

Thanks, though now I'm up to 21 years.

For the system tray, a quick search on revealed at least a couple of solutions...

I have never tried them, so I can't recommend them. But, it looks like you at least have some options to try.

Yair said...

There are also some free options - one wraps .NET calls and another wraps an ActiveX object written in CVI. Both can be found by searching the NI site or LAVA.