Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

For almost all of my professional development career (15+ years) I have been working on or managing development teams that primarily use Microsoft technologies (VB6, ASP, ASP.NET, C#, SQL Server, etc.) I've recently been approached by a company that seems very interested in me for a job managing their development team, which happens to be a Java shop.

Although I did recently take some college level Java courses, it was the typical programming academic environment, that is, lots of theory,excessive focus on syntax, and mostly console type apps, with only a trivial app at the end of the course with anything remotely resembling a modern Windowed UI.

I'm not worried at all about the syntax elements, picking up new programming languages isn't all that difficult and C# is so similar to Java that I think it should be fairly seamless in that respect. However, thinking back over all the tools, frameworks and platform specific knowledge, lingo that I have amassed for MS development, I worry about how quickly I can get up to speed enough to be productive in that environment and earn the respect I will need to manage effectively a team of veteran programmers, who potentially may have biases against MS developers.

Have any of you made the transition from a .NET shop to a Java shop? If so what were the toughest aspects of making the shift? Also, did you find it harder to get street cred on the team based on your experience in another platform? For those of you who already work on a Java team, how would you feel if a veteran .NET programmer/manager took over the reins of the team? What could that person do or say to make you feel more comfortable trusting them?

share|improve this question
    
Be prepared to write a lot less code. Us lazy C# programmers dig the sugar. –  ChaosPandion Sep 29 '10 at 19:27
3  
I have not made that particular shift so I will not write a full answer, but I do have an observation. If you are still having to have expert level code knowledge of every hunk of code that your team is responsible for then IMHO you are not a manager - you are a senior developer. Your prior development experience and all that it entailed will apply to a new environment as many of the issues with software development are not in the code but in the process whereby the code is spec'd, written, tested, etc. –  Todd Williamson Sep 29 '10 at 21:02
add comment

1 Answer

It sounds like you are going to be a hands-on (coding) manager. I was in a similar situation not too long ago. I, being a 10-yr Java developer was brought in to manage a C# team, though I was going to be a non-coding manager. The best advice I can give is to listen to your team and put weight on their advice as far as tools go. They are the subject-matter experts when it comes to the Java world... and there are a lot of differences in libraries, philosophies and standards that you will run into.

For your personal development and transition I would recommend some of the Java for .NET developer type books as well as checking out Java development blogs such as DZone.com just to get a feel for the environment.

Personally, I would be very leery of a coding Java team manager with a .NET background... no offense, but it's just a different mind set. It really would come down to your personality and your management skills, which you can't really show here. :-)

Good luck.

share|improve this answer
    
Actually, It might be fairly hands-off. It is still a little confusing about their org structure, but from what they have implied so far it looks like a 2nd tier management job (with a supervisor between me and the actual developers). Anyway, thanks for your perspective. –  JohnFx Oct 12 '10 at 21:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.