I'm currently a PHP developer, have been for the last five years. I feel that I've held my own, worked on some decently sized applications for private and governmental customers, and have advanced through the ranks to my current position as Lead Developer of a local startup. However, I've come to the conclusion that in the PHP marketplace where I live, I"ve gone as far as I'm going to go, both career wise and salary wise.
I've been kicking around the idea for the last year to shift over to the Java marketplace for multiple reasons. There's more work, you're not limited to just doing web applications (plus I'm pretty burnt out on them anyways), I can live where I wish pretty much (PHP work that isn't practically sweat shop esque is limited to big cities...Java work is almost country wide), and of course, there's more pay (Java developers make anywhere's from 10-50k more a year depending on position and experience). However, my Java knowledge, while not completely clueless on the language (for example I know static typing will be required....thank goodness), my experience is thin enough that I would not feel comfortable moving over to a similar role like i have now with a Java shop.
So my question to those that are more experienced in this field then I, is how can I make the jump? What factors would make the transition of moving my current skillset to the Java world more effective? How could I show HR folks at Java shops that I'd be useful to their organizations? What career pathing would help to get into the architect chair down the road?
Thanks for any help you could offer.
EDIT: Guess mentioning what Java experience I do have would be helpful eh? I have a mix of experience in application, mobile and web, ordered by experience from most to least. Most of my application based dev is pre 1.5, mobile is a combination of blackberry and android, albeit beginner on both. Web would be also from the pre 2005 era, using Struts, Javabeans and EJB on JBoss/Tomcat app servers.
That's a tough one. If you really want to make the jump, you may have to face the possibility of having to take a pay cut initially just to get your foot in the door. If I were to consider you as a candidate, I would have a hard time recommending you as a lead developer because that position requires in-depth technical knowledge, not just general principles and practices but nuts-and-bolts knowledge of language and various frameworks. If you don't have that, it's going to be a very tough sell. One way to build up a portfolio in Java would be to participate in an open source project. That might help you to show that you have enough skills required to handle a lead position. Good luck.
The best ideas are the crazy ones. If you have a crazy idea and it works, it's really valuable.—Kent Beck