The year is 1997. And it is the beginning of summer. I knew a consultant that his age was far greater than mine. This consultant was a foremost expert in a very important area of ERP systems. I do not want to give away many details, in order to keep his identity hidden. This consultant was a very good person and a very polite person. Something hard to find in Greek people.
This consultant and I were working for the same company. But where I was a mere employee, and the lowest of the low at that, he was working in the company as a consultant and was paid a very big salary. Or so the rumors went. The rumors were that he was so capable and knowledgeable, that the company could not afford to hire him full time. And indeed, he was a very knowledgeable person in his field, that particular area of ERP systems. But he knew how that area should function from the point of view of a customer and of an accountant. This consultant was not a developer, did not know how to code, and all he had seen in his life were dummy IBM terminals. This consultant knew nothing about Microsoft Windows.
So, this consultant asked me to visit his home so he could show me the project he was working on. So, I visited his home and met his family. He and his family were so kind and polite to me and I will never forget that.
It turns out that this consultant was just beginning to work on an ERP system of his own. He had decided to build an Enterprise Resource Planning program that would cover all aspects of what an ERP should do: Accounting, etc. Of course, the consultant did not know how to code. For that he had two youngsters, at most 20 years old each: his daughter or niece (I cannot remember which of the two) and her boyfriend. The consultant had chosen Visual Basic as the programming language and SQL Server as the database server. I do not know why he chose VB and SQL Server, but it was a wise decision, especially at that time period. He had encouraged the two youngsters to learn VB and they have been trying to learn VB for a few months.
The consultant wanted me as part of their team, but I kindly refused. First of all, I am not a developer, I am systems engineer. Second, he never made me a clear offer so that I could understand if there was any salary or other benefits. And third, … well keep reading and I will explain.
The consultant wanted to show me how far they had progressed. Of course, everything was at the very beginning, but he wanted to show me what they had done so far. So, he started talking about what an ERP software should be able to do: Accounting, etc. while at the same time running their program, which displayed the following form:
I recreated the form, so I can display it here in this blog post, with a much newer version of Visual Studio. Imagine that the original form really resembled this one, except for minute details.
The consultant wanted me to look at the form and tell him my thoughts. He was proud of the form; he was talking about it with great appreciation. Seconds were passing one after the other and I could not really understand what the purpose of this form with the five list boxes was. They were empty, they were all alone in the form with nothing else but them, and they exhibited no functionality. I knew he was showing me five list boxes neatly organized, but I could not understand why he was showing them to me. And as seconds kept passing, and as he kept talking about ERP systems in general, I was struggling to understand the usefulness of this form. Yes, there were five list boxes there, but what was their purpose?
Half a minute may have passed until it hit me: The consultant was showing me their grid! When I understood what I was looking at, I did not know what to say, so I said nothing. But I was feeling appalled.
In microseconds after that I realized that the consultant, who only knew about dummy terminals, knew nothing about Microsoft Windows and GUIs. When he gathered the two youngsters and they started building the ERP program, their first need was to display data on the window. And they also wanted to display more than one row of data. Knowing only about dummy terminals, the consultant did the best he could to describe this functionality to the youngsters. The youngsters, after a lot of struggle, came up with this solution.
So, like all good developers, the consultant and his team of two subordinates were in need of a grid. But unlike good developers, had no idea about grids. And they tried to implement one using list boxes. To the eyes of the consultant, that construct resembled the columns of data he would see in IBM AS-400 programs.
After the consultant showed me what they had done, which was very little, I knew they were just beginning and they had no knowledge whatsoever of the field of programming for Microsoft Windows. I did not join the consultant’s team for various reasons, but the most important one was that I was not going to be able to communicate with these people. There was a great knowledge chasm between them and me. I want to be a part of teams were I can be appreciated and helped. These people could never be able to appreciate my knowledge, because they were at point zero. If I would say something, they would struggle to understand whether I was correct or incorrect. And in the event that I would need help and support, they would not be able to provide it to me. In order to be appreciated and in order to be helped, you have to be amongst peers.