I realized this week at the CLA Summit that I am religious about LabVIEW. What does this mean? It means that despite conflicting evidence and statements made by individuals about the strengths and weaknesses of LabVIEW (including key individuals within NI), I have made a choice long ago to have faith in LabVIEW. Faith that LabVIEW executables can perform as efficiently and as stable as other main-stream programming languages. Faith that the development and debugging productivity in LabVIEW outweighs any negatives one might experience using a relatively unknown language with a much smaller user base and 3rd party tool support. Faith that, although it may not be trivial, just about any significant feature or functionality can be implemented in LabVIEW that can be implemented in other languages. Faith that LabVIEW can interoperate with other languages when needed, albeit sometimes with additional coding required. Faith that someday the Computer Science community will accept it as a serious contender in the world of general purpose programming languages that provides excellent support for massively parallel systems.
Although I thoroughly enjoyed the CLA Summit like I always do, I heard several remarks from key people, both from NI and power users within the CLA community that in reality LabVIEW does not met these expectations. Its compiled code does not execute as efficiently as other compilers. Its memory use is not as efficient as other languages because they haven’t been able to eliminate all redundant copies. There are plenty of user interface deficiencies that make it [near] impossible to provide user experiences that users have come to expect as standard features. In short, LabVIEW is still just an engineering tool intended to make it easy for scientists and engineers to interface with hardware.
What do I do with this information? Just writing this post makes me feel like I am going against everything I have worked so hard to advocate for since I fell in love with LabVIEW in the late 90s. Should I abandon LabVIEW, or at least stop evangelizing LabVIEW as the tool that will revolutionize software engineering in the 21st century?
It makes sense that I would be religious about LabVIEW given that God has already told me that he has a plan for graphical programming. (God’s vision for graphical programming) I believe the Lord does want to use graphical programming to make the world a better place, and LabVIEW is the leader in graphical programming. I believe I am walking in his Will for me when I do great things with LabVIEW and aid its advancement and acceptance. It’s not uncommon for God to give his children visions that are greater than what their current reality suggests is possible, so why should this be any different?
This is also a major motivation for persevering in my current job which maintains one of the largest applications ever written in LabVIEW, and has been since the mid 90’s. It’s unfortunate that I don’t get to start new development from scratch very often, so opportunities for incorporating new technologies or frameworks are few and far between. But this is one of the few jobs out there that uses LabVIEW as a general purpose programming language, and it’s in the space industry. How cool is that!? The LabVIEW community needs these kinds of testimonies as an example of the flexibility, durability, and development efficiencies that can be achieved with the use of LabVIEW over a long period of time on large applications.
Would I have more fun, learn more, earn more, or do more good for God’s Kingdom in another job? Probably, and that’s a struggle that I face. But I also believe that God has positioned me here for now, and the on-going success of our application is not assured. For the sake of God’s will for graphical programming, I hope to see our application win some victories that will help ensure its future success. Then perhaps I’ll feel free to begin new adventures. May the Lord accept my labor and perseverance as an offering pleasing to him, not an offering to LabVIEW.
Let’s also remember that there are many factors to career satisfaction. I’m very fortunate to work with a wonderful team, some of whom are crazy enough to do P90X and Insanity with me every day at 5:15am, others play hacky sack with me during the day. Hacky sack is the best work break, ever: sunshine, stretching, lots of laughing. I work 2.5 miles from home so I can go home and help out with the kids whenever needed. I can have lunch with my kids on occasion. With Flex 40 I can pretty much arrive and leave when I like. DES is on the same block as work, which is sometimes handy for our foster parenting. We still like our house and neighborhood, and are still growing in our church. And on most days I get to do LabVIEW and LabVIEW is fun, fun, fun! And I get to help other people be successful in LabVIEW too.
Life is good because God is good. And the grass isn’t greener on the other side, it’s greener where you water it.