Clif Notes: Do MultiValue Better? How?
Well surprise, surprise. I bet long-time readers never expected to see this column, let alone the current lead article of the magazine, be about New Year's resolutions. If you look back in the last two to three years of January-February issues at Clif notes, you will see that I have a habit of poking fun at the idea.
But for this issue, frequent contributor Brian Leach sent in a piece that struck a chord. Nathan and I got to talking and speculating on what it would be like if everybody in the MultiValue community were to make one, or possibly more, resolutions about something they would do in 2014 to help make sure that MultiValue continues to not only survive but thrive in the second half of this decade.
As we were kicking this idea around, we remembered an article that Susan Joslyn had sent us and we published in theJanuary-February 2011 issue. That article was about what she referred to as her Clear Message Initiative. It seemed to us to the entire idea was something that could help start the creative thinking juices flowing of people looking for things to make resolutions about. So we asked her for permission to reprint it in this issue.
And to further tie into the topic, I'm going to step away from my usual tongue-in-cheek poking fun at people who make resolutions and break them within a week and make a few comments and perhaps several resolutions of my own.
When I was thinking about what kind of resolutions for MultiValue I would make, I realized that a number of them are simply not practical (yet) because of my career. I suspect that many of you will find yourself in the same boat of saying, "I resolve to… No, I better not."
For example, I would like to make the resolution, "I will never work on a green screen program again." Well… I really can't say that. I'm an independent consultant. Those of you have never been self-employed might think that means that I don't ever have to work on anything unless it is unique, interesting, and most of all fun. If most of the independent business people I know followed through with that attitude, they would quickly find the bank repossessing their house, losing their car or the ability to put fuel in it to get from point A to point B, and looking for two large cardboard boxes and an unoccupied space under a bridge so they could set up their new two bedroom condo. Sorry. I am not about to turn away paying work just because I don't happen to care for it or agree with the manner or style in which it is done. I am much too fond of the habit of having regular meals (as you can tell).
Or what about, "I will never again code in uppercase-only." Right. How do you think that's going to work for me? After all, there are million of lines of uppercase-only code running in organizations who might be able to use my help. See the arguments given in the paragraph above. Besides, I derive a great deal of satisfaction from being able to help organizations fix their problems, streamline and modernize their processes, and achieve new goals. That frequently involves working on legacy code written in all uppercase running green screen interfaces. That's just the nature of the beast.
So I don't want to make resolutions that I'm going to have to turn around and break in order to continue making a living at my chosen career. In many of your cases, you're not going to want to make resolutions that if you follow through on them are going to almost guarantee that you will get fired. (Of course, in thinking about your resolutions, you may decide to look for position with some other company who has more enlightened upper management. For an example of this, read this issue's lead article. It will give you hope.)
I frequently follow the discussions that people have on groups on various platforms - Google Groups, LinkedIn, etc. Many times these threads get very involved and passionate. I don't often participate in them because most of them fall into a reiteration of things I've been hearing since the 1980s or before. And after more than 30 years, I have nothing new to add to the conversation - until recently. In reviewing a number of these threads, there is one thing that becomes very clear to me.
MultiValue is not obsolete. But many MultiValue developers are.
I can't always change upper management's mind about modernizing their legacy applications. Some people don't want to change their minds. Their heads are made out of stone. Or they point to the uppercase non-object non-structured spaghetti code and the telnet sessions emulating green-screens as proof that MultiValue is obsolete and will be "out of this company within two years." (And then they spend ten years and hundreds of thousands of dollars to achieve that goal — many times with inferior results.) So be it.
I can't always change MultiValue developer's minds about upgrading their skills, preparing demonstrable prototypes, and doing whatever they can to actually use modern techniques and methodologies. Many times I can't even convince them to learn where the shift key is on the keyboard. But I can make sure that both management and developers have access to educational material, tools, and examples that demonstrate the use of modern MultiValue techniques and methodologies. And I can try to lead by example, even in those projects where the MultiValue shop is stuck in the last century.
So here is my set of resolutions for 2014 to try to "Do MultiValue Better:"
- I will remain positive about the future of MultiValue. When people say MultiValue cannot survive, I will ignore them. When people say they want to see how MultiValue can thrive, I will show them.
- I will continue to update my own skills so that I can practice what I preach.
- I will use test-driven development techniques whenever and where-ever I can.
- I will conscientiously conform to the objectives of the Clear Message Initiative.
- I will seek out developers who are using MultiValue in a modern way and encourage them to share their stories and techniques — both the successes and the failures — so others can learn from them.
- I will continue to try to help those organizations and individuals who want to bring their legacy applications into the 21st century to do so.
- I will endeavor to lead by example so others may also learn.
I'll keep notes so that next New Year we can get together and see where I was successful and where I screwed up.
So, what are you going to do in 2014 to "Do MultiValue Better?"