Sunday, August 18, 2013

Information Technology: Are you out of business if your age is above 50?

Many Information Technology professionals, aged 40+ or 50+ has no job and the task of finding a new IT job is at least very difficult task.

As far as the reason for this difficulty, is concerned, there are variety of opinions.

I participated in a popular discussion in Linkedin Group "Israel High Tech" about  High Tech veterans work.

The arguments for hiring veterans
The arguments for hiring veterans were that they have experience, Business Knowledge and Technical skills (or at list many of them have these skills). They will not quit their job for another job and they are willing to do any assignment, even if some years ago they were Managers.

If this is the case, so the reason for not hiring them is Agism e.g. Age Discrimination.

The arguments for not hiring veterans
The arguments for not hiring 40+ or 50+ aged workers, were that they simply are not qualified.
Their knowledge is not up to date. 
For example, a Manager who would like to hire Linux Kernel experts, said that he would higher 50+ people properly skilled for this task. However, he find no one.
He added that if those who are talking about Agism could send him a 50+ Linux Kernel expert's resume he would properly hire him. 
The conclusion of those supporting this view is Agism is not the reason for not hiring 50+ High Tech experts. It is simply a matter of better skills, abilities or lower salary of younger people. 

My Take
I am 62 years old having about 40 years experience. As an Information Technology expert, I worked for companies and many years as a Freelancer.

Many young and especially elderly IT professionals have expertise in a certain IT field e.g. Java development, ITIL, C# etc. Good professionals excel in their field and learn and update continuously. 

My approach is different. I excelled in one field, namely IBM Mainframe MVS and z/OS Operating Systems, but after many years in that field, I studied many other fields.
I was able to generalize the principles and methods to many other IT fields.

My selling point is the ability to learn quickly and understand quickly any new Technology, Architecture, Paradigm or Methodology.

Service Oriented Architecture is a good example. I was exposed to this concept prior to most of the IT professionals in Israel, while working together with a team of experts from other country. They shared their opinions and Service based Framework.
After listening to them, I learned anything I could learn about SOA. When SOA evolution crossed the Hype stages, I was better prepared than others because I begun to learn and experience SOA a year or two prior to most other IT professionals in my country. 

In the following section, I depict a special technical assignment I completed successfully as a 50+worker.
I would outline in red colour factors and behavioural aspects which are age related.  

The assignment
A client asked me to help him in fixing Assembler code problems in a tailored extension to his z/OS Operating System (Jes2 Exits). I was lucky many 50+ IT professionals do not even get the chance to work.

According to her description, after any Operating System upgrade, they have to preform minor code changes. It always worked properly. This time, none of the exits is performing its tasks properly after those minor changes.

Before taking the Challenge I had to consider, if I should take the assignment or not.

I had to take into account two major factors:

1. For about 25 years I did not read and I did not write, even a single Assembler Line of Code
No doubt, I could do it easily 25 years or 30 years before. I code a lot more complicated Assembler supplements to the Operating System.

I was no loner with Hands On as far as Bits and Bytes are concerned. 
A failure in completing the assignment properly was a possible scenario.   

Some of the 50+ IT workers were not able to preserve their Hands On skills, because their current jobs are less technical or due to Paradigm Shift or Technology Change their technical expertise is less relevant or obsolete.

2. It was a Fixed Price assignment. 
Even if I will not fail, I properly work a large number of hours to complete the task.
Young People usually complete assignments more quickly, unless Experience is an important factor.

I decided to take the Challenge.

Solving the Technical Problems

I did not begun my work, by looking at the code. I read IBM Manual. 
It did not take long time to discover, that there is a cause for "nothing is working as expected". 

It was simple: Unlike other upgrades in this version IBM made significant design change to the JES2 and to its Exits structure and mode of operation. 
MY approach is typical grey haired people approach. A young expert would probably try to fix the code first.
After few days of failures he may check the manuals

My assignment was changed from minor code changes to designing a solution based on the new mode of operation and Exits structure. 
After designing, I had to code a lot more than minor changes.

Coding and Debugging
I coded slowly, because I had to verify that I was reducing the number of bugs to minimum. 
Whenever something went wrong, I assumed that I made a mistake and tried to identify and solve the bug

I faced two difficult debugging issues, which I spend a lot of time in order to solve:

Problem 1: who is to be blamed for  the Bug?
You already know my answer: I am to be blamed.
However, after reading the manuals again and again and verifying that I am 100% compatible with the explanations and the syntax described in the manuals and after testing any possible scenario and after analyzing the code again and again, I finally concluded that I did nothing wrong. 

It should be a Bug in IBM's Operating System. The local technical support group insisted that it is my fault. They could not find what was wrong. 

I gave them all the tests scenarios and results. In one scenario my code was perfect, but in a slightly different scenario it failed.
It looks like someone in IBM missed the less frequent scenario or at least made a coding mistake in this scenario. 

When the Data was send to the Development Group they confirmed my claim. It was IBM's Bug. I also received a circumvention which solved the problem, until they fixed it. 

A Young Technological expert would have conclude a weak or two earlier that it is IBM's Bug. He would save a weak or two. 
Bear in mind that in most cases it is a customer's Bug and not a Vendor's Bug, therefore in many other cases a young expert would waste a lot of time:  He would conclude that it is a vendor's Bug and apply to the vendor. The vendor will check it for a weak or two or a month or two months and the answer will be: "No Bug found".

Problem 2: Young Technical professionals would love that Bug
This Bug was in a very complex routine. 
As it was working properly for about 20 years, I assumed that the Data Exception is my Bug and that it is outside that routine code.

I found nothing. I asked someone having a lot of experience to help me. He found no Bug. 
After two Weeks I looked for out of the box solution.
I considered the possibility that although, no code was changed in the complex routine something changed.

Like most of other problems, after solving the solution is simple: It was a combined effect of an old times bug (Which was always in the code) and the design Changes made by IBM.

The bug was in an instruction for moving data from one location in the computer memory to another.

The instruction is fixed length instruction, which moves always 8 bytes. However, someone forgot this and code the length. Assembler is a low level Programming Language. The 8 coded in the instruction was interpreted as adding Register8 content to the address defining the data location. 

No harm was caused because Register8 always contained zero. Adding zero to an address will result in the same address.

After the design change Register8 contains a non-zero value, which was added to the memory address, causing the Data Exception.

Grey Haired professionals have no advantage over Young experts in solving such problems, unless they faced similar problem in the past.  

The Bottom Line
Young people have advantages over 50+ people, but 50+ years old people have their advantages as well.
It comes down to an individual question interacting with the specific assignment: One 50+ man or woman could be an excellent choice. Another could be a waste of time and money. It it also true for 25 years old professionals: one could perform a task perfectly another would fail to provide any value. 

There are tasks that are more adequate for experienced Grey Haired. Young people will generally, be a better fit for other tasks.

Would someone hire me for Linux  Kernel assignments? probably not. I have no knowledge and no experience. 

Would I be able to perform properly Linux  Kernel assignments?
I think I will be able to do this. 
I will need to spend a long time to learn it (and no one will be willing to pay for this time).

But after I complete learning it, my experience in MVS Nucleus changes in those old days when MVS was immature, could count.  

Fortunately, I do not need (Financially) and I do not want to code Linux Kernel.

No comments:

Public Cloud Core Banking: Hype or Reality? - Revisited

  More than 4 years ago I was asked if Public Cloud Core Banking is a Hype or a Short Term Reality? If you had read the post, you would prob...