I have been a professional programmer for more than 30 years, and have chosen a career path involving hands-on programming. Programming is something that I love, and I take great pride in the fact that I have continued to keep up to date with current technology. Projects on which I have worked include large enterprise projects as well as smaller desktop programs.
The problem I am facing is that I do not have any web-based experience other than some web services. Most of the jobs now available have some web component.
I have now been out of work for a year and a half, and have been keeping busy by studying technology that will bridge that gap: CSS, Java Script, JQuery, and Ruby on Rails; AJAX is next.
Hiring managers give no consideration whatsoever to the studying that I have been doing. I know that I cannot compete at a senior software level, but companies will not hire someone with my experience at a more junior level. Is there any way to break out of this Catch 22?
Forget study. MAKE SOMETHING. Make silly demo sites that demonstrate what you can do. Make a homepage for your dogs feeding schedule, with all kinds of jQuery UI interface pizazz. Make a forum for your kids soccer team or something, anything. Then put them on your resume or show them in your interviews
Design/build a website on your own or for some local charity. That will show initiative and familiarity with the latest technology. Be active in user groups and take advantage of any networking opportunities. The people attending user groups will be much more open-minded to hearing about your experience and not discounting it.
Become active on SO and put your profile-link on the CV.
I put my profile-link on my CV and every job interview I went on commented on how great it is to be active on a forum like this.
Programming isn't only about what language/framework you can and can't. If you have been a programmer for 30 years and would compete with someone that worked with web-development for 3 years, yes, of course he would know how to add a text-field faster than you.
But when it comes to the more "relevant" parts of programming, deeper understanding if how software works, how to design for scalability, all those "mindsets" work on almost all different type of developments.
If you have worked as a proffessional developer for 30 years, you have probably your share of stories about patterns that none should ever try and why O(n^100) would be bad.
It's about the possiblity to adapt and learn new things, you must be able to adapt and to take in new knowledge, after 30 years of development or even 10 years or 5 years, it doesn't matter, you will be somewhat good at understanding problems, understandhing how to solve them; what tools to use and how to get there.
After 30 years of development you should know how google works and that will probably get you in the right direction no matter what problem you are facing.
I would also recommend to fine-tune your CV a bit, maybe get one of those CV's at stackoverflow or why not put a couple of quotations from former employees on your CV?
Remember that it's all about how well you sell yourself and you don't need to fully understand how the newest web-framework works, you just need to know how to get the information once you need it.
That's what software engineering is all about; adaptability.
Your approach seems to boil down to:
I think you'd be much better off repackaging your skills in technology set A and in putting your efforts into finding a job which uses the experience you have. You seem to be planning to throw away most of your experience, which is exactly what marks you out as different from the rest of the herd. Don't do that.
I write as a 30+ year Fortran programmer in a similar situation to your own a few years back. I updated my skills by learning OpenMP, MPI, etc, and worked hard on re-presenting myself to the marketplace. It was hard work but it paid off.
It pains me to hear about your experience. First because it's a shame you've been unemployed for so long. Second, because hiring managers are so narrowly focused on specific technologies.
Here's a couple of thoughts. In any programming job, the current technology is only part of the mix. Dedication, analytical ability, hard work, team spirit are also important.
First, emphasize your accomplishments, not a specific technology. In your experience you've undoubtedly solved some difficult and interesting problems. Focus your discussions on those.
Second, explain how in your 30 years of experience you've had to adapt many times. Emphasize your ability to adapt and overcome.
Third, because you're an older person you will be perceived as being less energetic than younger applicants. During an interview try to present yourself as wise, patient, calm, enthusiastic and energetic. In other words, emphasize your strengths overcome perceived weaknesses.
Fourth, There surely must be local technology user groups in your area. If so, join and become active. If not, start one. Google groups is a great way to get started.
Fifth, Present yourself as willing, able and ready to move into a junior role. Tell them you would relish the opportunity to apply your experience to a new approach.
Sixth, Federal contracting is a growing area. When gov't changes it almost always means new work for federal contracting thought workers. A great deal of this work is not web-based. Contact me for more details.
Good Luck
Matt
Your experience is good. Why not try for your field of experience - there are plenty of jobs without web experience out there. Unless you've been a COBOL programmer for the last few years, why not try within your field. Of course, do not turn your back on learning the new technologies, but go with what you know, aka your strengths.
Also, another note. The big companies like younger, cheaper programmers. You're not mistaken if you've noticed this. Offshore programmers, fresh out of school, and immigrants who work cheaply are the rule here in Silicon Valley. Startups and smaller companies are the ones who will appreciate you and your excellent experience.
On the other hand, I came over from C/Assembly for embedded systems to PHP/MySQL/JavaScript on my own. By taking on a lot of small jobs, you can learn, maybe profit (fingers crossed), and get your experience. I was laid off 8 years ago, and went for a teaching gig. In the interim of education and embedded systems, I did my sis-n-laws ecommerce site, from start to finish. It was HELL, but I got it working and learned a lot! She got a deal and I got a free trip to California and good experience.
I used my experience to get my tech coordinator job, and did many side jobs for website development. The rule: keep learning, practicing, then learning, and practicing more! Networking is key!
I have been in this biz since 1984!
It's pretty hard to break out of that Catch-22. You just have to find a hiring manager who is smart enough to realize that intelligence, knowledge, and willingness to learn is more important than professional experience in technology XYZ (which is web technologies in your case).
My advice would be to do some sort of open-source project in technology XYZ. Then I would write up an article on it and get it published somewhere reputable such as developerWorks [1]. That should give you more credibility.
[1] http://www.ibm.com/developerworks/Learn more than the languages. Go beyond to design, colors, fonts, and asthetic considerations. People don't want "developer pages" - they want stuff that looks good, too. You'll help your case if you can go beyond just the code and hypertext on the page.
I second the suggestion that you actually try to build something rather than just study, but it would require a lot work to create something from scratch that is really going to impress someone enough to hire you. Instead I would find an existing open source project that you can contribute to.
I think with your experience you would make a great choice of hire. Learning web development is not a problem, besides development is all about constant learning. I'm constantly reading open source projects to learn from others. Maybe you should build a site and use that as an example of what you can do when you go into your interview. Some managers just don't know what they are doing.
The simple fact that you are still learning new things would make you a non-dinosaur. I know alot of younger developers who tell me they are tried of learning new things and I admire people who have the drive to learn new things.
I also think if you want to enter a new field jst learning is not enough as most hiring or HR people don'e know the value of learning in IT. The best way forward is to build something small to showcase your skills.
But I also think you should use your strength. With 30 years of experience it is a very good thing. You should use this to your advantage and show the hiring managers that with your level of experience you would be handle the new technology.
Hope this is helpful.
My two boys are running into the same thing, just out of school. Have the smarts, just not the experience. They are working as interns with church and local companies. Not much money, but experience.
Most of the jobs are 'web' stuff.
Most of the programmers are 'web' programmers...
But this means any company that needs a non-web programmer is quite possibly desperate! I noticed you mentioned the technologies you have yet to pick up, not so much those you already are an expert in. And after 30 years, you're an expert, no doubt about it. What about translating older stuff (COBOL, FORTRAN?) into modern programming technologies (Java, Python, C... GPU programming, MPI...)? It's an easier transition, IMHO (I don't grok web easily myself; hand me a computation that computes something!), and I suspect there is a strong need for it buried under all the competition for web positions.