Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question might only be applicable to entry/junior level positions.


  • Let's say you're a Java/Open Source developer. Should you consider positions where the technology stack of the shop is C++/.NET?
  • Lets assume that the shop is interested in hiring you because they are impressed by your strong algorithmic skills. And the fact that you are a Java programmer does not matter to them at all.

The question is - Should this be an issue that should bother an entry/junior level developer?

Should the applicant then make an acceptance decision based on other criteria such as the domain that one would be working on? Perks? Salary? Career growth? etc.?

share|improve this question

closed as off topic by Caleb, Jim G., World Engineer, Graham Lee, thorsten müller May 3 '12 at 5:45

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Please read the faq -- career advice is off topic. – Caleb May 3 '12 at 3:54
Learned that the hard way... Got a question closed. This is an excellent question, wrong forum. Try on "workplace" which is currently in beta. Seems it would fit marvelously there. – Paul Hazen May 3 '12 at 5:15

If they employer doesn't care that you don't know their technology stack then don't worry. It sounds like they're open to hiring people who have other strengths besides just knowing their tech stack. They will probably expect you to learn their stack on the job. This could be stressful at first while you're still trying to get over the learning curve, but it can be good in the long run as it exposes you to more technologies that you can then put on your resume.

share|improve this answer

Learning new stacks, new technologies, new languages... these are GOOD things, not bad.

The one time where coding on a different platform is a problem, is when it's NOT new. Don't get pulled into working in an old, dying platform if you have a choice. You'll leave that job in six months or a year or three years, and you'll be sending out resumes, and people will be all "huh. You've been working in... Delphi?..."

share|improve this answer
The problem is I am also a grad student, and we are always told to master a topic thoroughly (inside out) rather than developing only a superficial understanding of a subject matter. But I do agree that this strategy might have a worse expected payoff in terms of increasing employment marketability over a medium to long term (5 - 10 years). – user396089 May 3 '12 at 5:31
Technology stacks aren't a "topic," really. They're just tools. For example, my daughter attends a college where students use a program called "Scientific Notebook," to do math and science projects... but they are also allowed to use Matlab, or Mathematica, or whatever. The part that matters is the math, not knowing the shortcut key for a particular function in a particular program. In this case, the things that should matter to YOU are things like code smells, dependency injection, or service-oriented architectures. – mjfgates May 3 '12 at 16:49
"Learning new stacks, new technologies, new languages... these are GOOD things, not bad.": This is true most of the times, but not always. A Java programmer might get little benefit from learning C# / .NET (likewise, a C# developer might get little benefit from learning Java) depending on their long term strategy. E.g. if one does not plan to develop on the MS stack, there are enough exciting alternatives to learn new technologies (Scala, Clojure, Common Lisp, OCaml, Ruby, Python, Haskell, Objective-C, SML, etc). – Giorgio Apr 13 '13 at 9:30

This is where you need to decide what you want to work with for the next few decades. Remember that whatever you start off with is going to add experience to your resumé and moving back to java is going to take more effort as the months/years roll by.

share|improve this answer

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