I am currently an iPhone developer with 2 years of experience. I have a situation where my organization wants me to switch to a C# developer because of significant rise in .NET business they are getting. They've assured me that I'll be working on iPhone in the future as well, but I'm not sure how long "the future" will be.

I never want to leave iPhone development, or at the very least if I have to do a switch, I want to do it in another mobile technology like android or designing.

This is a very critical decision for me. What should I consider when deciding if I should accept this offer or not?

  • You could try doing iPhone development in C# with Monotouch/Xamarin
    – Spoike
    Commented Jul 20, 2012 at 9:30
  • 1
    I'm not sure this question is on topic; first it's very focused on nitty-gritty details of specific job functions, keeping it from being a general Workplace issue. Secondly it's close to the Not Constructive/Too Localized area of "What should I do?" where there's no clearly defined, solvable problem, instead answers are just recommendations.
    – Zelda
    Commented Jul 20, 2012 at 14:28
  • 1
    @Rarity I've suggested an edit to the question that will hopefully keep it on-topic for the site and prevent it from getting closed, without changing the question too much. Please reconsider closing it :)
    – Rachel
    Commented Jul 20, 2012 at 14:58
  • 3
    My humble suggestion: never believe vague promises about "the future".
    – o0'.
    Commented Apr 2, 2014 at 13:16
  • You are too vague, I fear. You did not specify several important factors, such as 1. do the switch also imply a pay raise or better conditions? 2. do you feel they might fire you or deny career improvements if you refuse? 3. i.e. why exactly should you accept this offer? It's totally unclear.
    – o0'.
    Commented Apr 2, 2014 at 13:18

3 Answers 3


First, a disclaimer: I believe that attachment to a specific technology is overrated. Having experience in different technologies gives you more insight and broader knowledge and, often, allows you to come with different approach to a problem than you would otherwise (as in Law of the instrument).

Having said that, I don't consider you have only one viable option:

You may want to stay to:

  • see how you like the new technology
  • learn things that broaden your views
  • learn completely different class of projects (C# won't be anything close to iPhone apps)
  • get yourself out of your comfort zone
  • grow your career within the ranks of your current organization (if it is even a case)

You may want to go to look for other mobile development job to:

  • keep honing your iPhone development skills
  • stay focused on a single technology so you eventually become awesome in this
  • exploit your current skills in most productive way
  • are convinced that mobile development is the thing to do for you
  • find a better job considering your current skill set (if it is even a case)

All in all, the decision should be mostly driven by how you picture career in a couple years of advance.

Note, that you can pretty safely stay for a while to see how it goes and then eventually leave if you don't like it. What more, if you work for healthy company you might be able to state that openly. In such case, again it is possible, that if you don't like the new role you might be offered a switch back to the current one. It is however about how your org is functioning and what kind of relations you have with your bosses.

  • Thank you so much. I'll definitely think about what you suggested.
    – Nitish
    Commented Jul 20, 2012 at 9:02
  • 5
    I just want to +1 the opening disclaimer here.
    – acolyte
    Commented Jul 20, 2012 at 13:49
  • Piggy backing onto this: development languages rise and fall in popularity over time. From a career perspective it's FAR better to have breadth of knowledge. Also, it makes you a better programmer anyway.
    – NotMe
    Commented Aug 1, 2014 at 23:03

Early in your career, you need to get the broadest experience you can get. While iPhone development is hot right now, it may be totally obsolete in five years. Technologies change, sometimes fairly rapidly.

As a young developer, your boss is doing you a favor moving you to the C# team which will broaden your skills and perspective and make you more valuable to the company. Further, the organization needs you where they need you. You can't expect that assignments will always align with your personal preferences in any job. The company needs what they need and all jobs eventually have some work you would rather not be assigned to do. Step up and do a great job and impress people.

  • Thanku very much for your suggestion and your over whelming push :)
    – Nitish
    Commented Jul 23, 2012 at 12:52
  • 1
    "Further, the organization needs you where they need you.": on the other hand, if my organization needed me to flip burgers all day long, I would probably refuse. It all depends on what your priorities are. Commented Oct 5, 2012 at 15:05

It depends largely on trust. Do you trust your manager to get you back to mobile development since that's what you want? Do you trust your company to compensate you appropriately for essentially delaying your career progression towards a more senior mobile developer role?

In my experience, you shouldn't. If C# work is there, they'll keep you there and care very little about your career.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .