Well, folks, after 11.5 years of essentially the same job, I'm going to do something new starting next week. This transition is going to change some of my online interaction with the LV user community.
For many years, I have directly shaped labview.exe and the VI libraries that ship with LabVIEW. Now, I will switch from "working on LabVIEW" to "working with LabVIEW" -- but I still won't be a G programmer. You see, the text code of LabVIEW has many parts: an editor, a type system, a compiler, etc. Over the last three years, R&D has reworked each of these components to become an isolated API that could -- in theory -- be reused to build a completely different editor, a different type system, a different compiler. In my new role, I'm going to be attempting to do just that, but not to develop any new products. Instead, I'm going to be building small applications that prove out the usability and documentation of these various layers -- apps that are more about being a good tutorial for the API than for doing anything particularly useful themselves. The goal of this work is to prep these layers to be opened up for more people to use. In the short run, that means helping LV R&D team members around the world get the documentation and API support they need when they can't just walk to someone's desk in Austin, TX, to ask questions. In the long run (3 to 5 years), we hope that we'll be able to open these APIs up to the full LabVIEW community to use. That means not just augmenting LabVIEW but also writing whole new applications in the LabVIEW product environment.
I am handing off all of my duties for maintenance of features I have built over the years, and LV 2012 is the last LV version for the next few years that will have my fingerprints on the EXE. Oh, I'll probably fix a CAR or two, but I won't be working on the code on a daily basis. I do plan to keep working on G in my spare time, and it may be that I'll have a few small contributions to LabVIEW G tools and vi.lib, but certainly not to the level I've been working at lately.
I will still be monitoring LAVA, but for the next few years, I am going to be much more of a "LabVIEW user" than a "LabVIEW developer". That means I will be saying less of "oh, let me go fix that real fast" and saying more of "yeah, I wish they'd fix that, too". In the short run, that means my direct impact on improving LabVIEW is going to decrease. But I think that this new position will be beneficial to LabVIEW in the long run if I really can get the entire platform to be a more open system. And, who knows, some of those mini apps may actually have some functionality that proves useful... I've got a couple ideas in my head already. If all goes as planned, a few years down the road, the APIs that empower creating custom nodes, specifying alternate models of computation, and compiling to truly foreign targets will be wide open. Then I could move happily back to the Language team armed with a lot more power and with a whole community of developers able to help build the future.
Now, if you'll excuse me, I'm going to go get some sleep... I've got two days left and a sizable list of CARs that Certain People have asked me to fix before I switch roles. :-)