Not that GP didn't provide explanation for this. Personally I'd never hire anyone who has 10+ years experience with one technology and none with others.
I didn't mean for my statement to turn into java bashing at all. I was just stating that after interviewing over 200 java developers for java related positions, I found that MOST of them "Senior" and with > 10 yrs experience were not very well rounded at all and stuck in their java bubbles. I would ask that any other recruiter/interviewing managers to comment here. I know from other people I have talked to, they felt the same.
And it sounds like this guy is trying to get OUT of java and into something else. Does his 10 years experience in java directly translate to being a senior/expert person in any other language?
So with that being said, the OP is going to have to do something with his resume to get above that stigma. Developing Java for 10 years at the same company and the exact same project just raises flags at every single level for me.
Now he did say he did some personal projects where he made some stuff on his own. I will honestly say that really doesn't make him qualified to be a senior level person on an iphone/android/something/anything development team.
There are several points here where, I think, you share what recruiters think about my resume. I'll comment with my vision of the situation.
> Does his 10 years experience in java directly translate to being a senior/expert person in any other language?
Yes, it does. Given a Python project, I spent half of the first day (literally, half a day) using Google in parallel with coding to find some syntax-specific things out. I.e. how to declare an empty map, how to declare and use a lambda, how to throw/catch an exception, how None is handled, etc. After this half a day, the difference between me and your Python hacker is 5 times less compared to what it was before. Add a week of Python coding and I'll be familiar 90% of most used libraries or a framework you use. My capacity to write a Dijkstra algorithm from scratch, on the other hand, stays with me forever.
Having said that, I understand that if assigned to a Haskell project, for example, I'll have some harder time, of course. Python is just really simple.
With this regards I like Google interviews the most. They take essentially the same approach: choose the language you like to solve our problems, we'll be testsing you for some more serious things anyway.
> Developing Java for 10 years at the same company and the exact same project
Not sure how I made this impression: I worked in 4 companies throughout those 10 years, in very different Java projects.
> I will honestly say that really doesn't make him qualified to be a senior level person on an iphone/android/something/anything development team.
It's too bad you don't have a chance to interview me and compare to your senior iOS guy, really.
So you'd never hire someone like Paul Graham after he has worked for 10 years in Lisp projects, or some guy doing 10 years of embedded C work, etc...
Using "lots of" technologies is a meaningless metric, except if you want a code monkey to work with whatever for some startup where everyone has to wear 10 hats.
If I was building the Curiosity I would get a guy with 20+, not 10, years of experience in just embedded C (or Ada or whatever).
If I was planning a new JS heavy web app, I would get a 10+ years Javascript wizard. If he had the JS chops I could not care less if he also dabbled in Haskell or APL.
If I was trying to find the best Lisp developer out there I would hire Paul Graham, and if I was trying to find a senior person in C I would hire someone with 10 years of C.
So I think you are just clarifying my point here.
The OP has 10 years of experience in java. so I would consider him for a java developer position. I don't believe that is what the OP wants though.