Become a member of the Association for Computing Machinery and then
explore the on-line books and courses they offer (Safari, Element K and Books24X7)? The ACM offers a wealth of information. Also, becoming a member of the ACM does indicate that you
take your profession seriously (some may disagree but, I find it worth while).
Other sources
of quality materials can be found on various
university web-sites such as Berkeley and
MIT. Follow a few
introductory computer science lectures and be re-introduced to the current state of the
art - it isn't the same world any more!
The basic idea here is not to just learn some language, but to get an appreciation for
what has happened over the past 30 years. Its, not just the language, its the whole
computing landscape that needs to be re-visited.
Lastly, you could consider vendor specific training programs, but these tend to
be really expensive and may involve travel to another city.
Your father is in a difficult position.
He kept his head down and focused on the work in front of him
to the exclusion of advancing his skill set. This may have benefited
his employer but he is going to pay the price as he goes from being a
"valued member of their team" to "surplus". This can be a heart breaking experience.
What does your father really want to do?
As I see it there are a number of
options open to him:
- Try to stay where he is: Use his knowledge of the current business as an asset
toward finding a niche within the new ERP infrastructure and support.
Forget COBOL and programming. Instead try to leverage his 30+ years of specific corporate
knowledge into becoming a business subject area specialist to support set up
and day-to-day operations of the new ERP solution. In this role, he may need to become
familiar with X++, but should not need to master it. Learning the basic concepts
behind the OO paradigm should be sufficient.
- Continue as a COBOL programmer somewhere else: How strong are his COBOL skills? What other technical
skills does he have (database, CICS, utilities and tools)?
I know may programmers (not just COBOL programmers) that have 20+ years experience but
still write junior level code. I also know a few that command a very strong grasp of the
language. These people are always in demand somewhere - and they tend to be aware of
current developments in computing and business practice.
- Leverage his experience in ERP to become an ERP Analyst/Programmer.
Commercial ERP solutions all have proprietary customization tools
(programming languages and hooks). Gaining access to
this "world" pretty much means enrolling in one of the vendors' education
plans. If he were to follow this route I would encourage him to evaluate the commercial ERP
market place
first - I don't think Microsoft Dynamix AX has a huge share of it.
SAP may be a better bet. Also, you
mentioned that your father has experience with MOVEX, an ERP system from Intentia. Intentia was
bought out by Lawson Software who have somewhat re-engineered
the product line. I believe the new product line relies on Java based technologies.
How well your fathers' existing MOVEX skills and knowledge
will translate here is difficult to say - but they will need upgrading.
- Learn a whole new set of computing skills. There are lots of stories about
how "old dogs can't learn new tricks", but it really depends on the
individual. Some people come by new programming paradigms, such as OOP, very easily.
Some never get it (including those that grew up using OO based languages). To this end I would
suggest that your father join a professional association
(e.g. ACM) that offers
quality self help and training materials. Once he has a grasp of what is available
and the skills he thinks he can master, enroll in a community college or university continuing
education plan to develop those skills in preparation for launching a new career.
All of the above are viable scenarios:
Continuing as a COBOL programmer is difficult
only because few shops shop actively recruit COBOL programmers. COBOL jobs are not
rare. In my 25+ year experience as a contract COBOL
programmer I have found most jobs are filled through networking and personal contacts. Searching the
careers section of the news paper won't cut it. You need to develop
contacts. Do this by joining user groups; look up colleagues that have moved
on and found gainful employment elsewhere. Research which businesses in your area still
have significant COBOL applications then get to know some of the people that work there.
Leave no stone unturned. Even talk to head-hunters, but beware of any
agreement you enter into with them - some of these guys are real snakes (others not so much).
Launching a new career may be more difficult than continuing as a COBOL programmer. Your
father has a wealth of experience gained over many years. All this may be disregarded
by prospective employers evaluating
his resume with respect to his OO credentials. In order to be taken seriously, he
would probably have to obtain
some sort of "certification" or diploma through his studies. This requires a large
investment in time, effort and money.
The remaining scenarios involve leveraging existing ERP experience and corporate knowledge
to some extent. Somehow I feel that this is his best bet.
As a subject area expert, he needs a grasp of OO concepts and
the jargon that goes with them. Basic OO knowledge and jargon is required to
communicate with developers in a meaningful way. To become a full blown
ERP Programmer/Analyst he needs to develop skills in a specific OO environment as well. In
gaining these skills I would disregard COBOL all together - it is no help. All that Java
for COBOL programmers stuff is just bashing square pegs into round holes. Start from
scratch with a basic introduction to OO concepts. Following that, explore one of the
OO languages closest to whatever ERP package he wants to specialize in (I'm guessing
that would be C#/C++ or Java).
Finally, a few words of caution... It may be very difficult to teach your father anything. Parents
don't often take instruction from their children very well. Your father needs to work out for
himself what he really wants, and then go after it. By all means encourage him and offer help
when asked for it, but don't try to lead him in any particular direction - he needs to be the
one driving here.