Me: Hi, my name is David, and I've been a professional Java programmer for four years.
Everyone: Hi, David.
Yes, it was just a little over four years ago that I made the jump from the legacy mainframe world into the magical world of Java and the Internet. Prior to the summer of 2000, I spent practically my entire career writing programs for the airline reservation industry, using a dialect of IBM System 360/370 Assembler Language called TPF (Transaction Processing Facility). TPF (originally called ACP, for "Airline Control Program") is an IBM proprietary operating system designed specifically to meet the needs of the airline reservation industry for a highly-available (> 99.99%), high-throughput (> 3000 msgs/second), low response-time (< 3 seconds) system. There have been C and C++ compilers available for some time now, but development still mostly happens in assembler, for speed of execution.
[Note: There is no need to flame me personally about what a Bad Idea this is. Trust me -- I know. But I didn't know until I escaped this insular world. There is forty years of religion and inertia behind this tradition. You want to fight that battle, go right ahead. I tried for a while, without success. See Robert Heinlein's quote (via Lazarus Long) about teaching a pig to sing.]
Exactly how I escaped is a story for another time. What I'm trying to do now is to go back and rescue my buddies from the Programming Land That Time Forgot. These people are very bright, and very good at what they do; unfortunately, thanks to the grim economic outlook for United Airlines, they may not get to do it for much longer. And there isn't a market for their exact skill set on the outside. Oh, they might be able to relocate and work for one of the other shops around the country that do this kind of thing, but they don't really want to leave Denver. Can't say I blame them. Besides, those other shops are hurting too. No point in relocating your family from one frying pan into another frying pan. Or worse.
So I'm asking for your help. If you knew someone in a similar position, someone who was looking to make a career shift from a legacy (say, COBOL) world into Java, how would you advise that someone to go about it? What is the market like these days for senior-level programmers who would be entry-level Java programmers? Any thoughts on strategies for learning the language, coming from a just-one-step-up-from-the-opcode perspective? Keep in mind that most of them will be learning objects for the first time, not just Java syntax.
I know it's a free blogosphere and all, but I'd appreciate it if you could keep your comments positive. I've heard the "Java is the COBOL of the 90's" joke; even laughed at it the first couple of times. It's not funny any more.