My company hired me with the role of "Senior iOS Developer".

I've spent 1 year developing in Swift, native iOS language. They asked me to convert to React Native since next year, so I will probably abandon the company for another.

But just or the sake of curiosity, if I got hired to do one job (my title on the contract say "iOS Developer", not mobile developer), can a company force me to move to work on another language/platform?

Is all good legally? Or is the title on my contract binding? I live in The Netherlands, Europe.


6 Answers 6


A lot of employment contracts in the Netherlands have a phrase similar to "werknemer dient ook alle voorkomende en/of in redelijkheid op te dragen werkzaamheden te verrichten" ("employee must also perform all occurring and / or reasonably assigned activities."), which is a blanket statement that an employer can require - within reason - an employee to perform other activities than enumerated in the contract.

There is also jurisprudence that an employer can require an employee to take a new function, if that function is on the same or similar level of their old function (the "Taxi Hofman Arrest" (Hoge Raad, 26 jun. 1998)). An employee can only reject such a function change if it is either unreasonable (e.g. requiring an employee to do something they are not physically capable of), or the level of work is entirely different (e.g. changing from a software developer to janitor work).

In addition, contracts usually have a unilateral "wijzigingsbeding" (modification-clause), which allows the employer to unilaterally change certain aspects of a contract, if and when the employer has a "zwaarwegend belang" (significant interest), and if the change is reasonable. They can't change your primary benefits (e.g. salary), and they have to state (and prove) their significant interest (e.g. reorganisation, bad results).

I am not a lawyer, nor an expert on Dutch employment law, but I think that an employer asking a software developer to switch to a different programming language is not an unreasonable demand (you're still a software developer, so it is same/similar work), and it is unlikely that a judge would agree with you that this is an unreasonable change if you'd bring this to court.

In short, you will have to accept this change in function, or otherwise find employment elsewhere.

If you really don't want to accept this new function, it might be worthwhile to not just give notice to your employer, but discuss the situation with them, and come to a transition agreement (transitieovereenkomst, vaststellingsovereenkomst) where technically the employer ends your contract with mutual agreement. The benefits are that you might be able to get additional months of pay, and - if you leave without a new job lined up - you will still be eligible for unemployment benefits (WW).


Your title of "Senior iOS Developer" is general enough that they can ask you to use Swift, React, or whatever other tool for iOS development that is available. As a developer you should be able to adapt to and use a different technology just like a carpenter can use a new or different technology to accomplish their goals.

But the devil is in the details. Check your contract and see if it mentions that you would only be working with Swift. If that is not the case, then you have little recourse other than your current plan of leaving the company. In the future, you could attempt to negotiate only working with a specific technology and have that written in your contract, but this runs the risk of making you less employable.

You will also have to face questions of why you left your current company. "I didn't want to learn and use React" is not likely a good answer.

  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Lilienthal
    Commented Feb 2, 2021 at 8:58

But just or the sake of curiosity, ig I got hired to do one job, (my title on the contract say "iOS Developer", not mobile developer), can a company force me to move to work on another language/platform?

So, are you still developing apps for iOS?

Your job is not "Swift Developer", your job is "iOS developer". Yes, the company can absolutely tell you which tools to use for this job. If you are still tasked to develop software that is ultimately running on iOS, I don't see any contractual problems.

  • I don't see any contractual problems neither, but I believe your reasoning is a bit too simplistic: if the company decides to embed a web view in an iOS app (many apps are done like this, you open and you just have a website in the app), the next day I should work with html, css and become a web developer.
    – aneuryzm
    Commented Jan 30, 2021 at 9:16
  • 2
    Well, yes. You are not a "Swift Developer" any more than a construction worker is a "Hammer User". If the need for an other or additional tool arises, you have to adapt. If this is a business requirement in your iOS app, then you can either learn how to do it, or find a different job you like better.
    – nvoigt
    Commented Jan 30, 2021 at 13:31
  • Ok, I understand your point.
    – aneuryzm
    Commented Jan 30, 2021 at 13:50

Is all good legally? Or the title on my contract is binding? I live in The Netherlands, Europe.

Not sure about the laws there but it could be. If you have a contract that you are to maintain an iOS app and within a specific language, then yes, that is something that is legally binding. If there is such language in the contract, I would bring it up immediately. "Boss, my contract states that I am to use Swift to develop iOS apps and there is no language that states that I have to convert it to a different language."

They asked me to convert to React Native since next year, so I will probably abandon the company for another.

Now this sounds dangerous or maybe not. So react is the ability to cross brand, so the company is either opening up their market, or they are looking to replace you with more developers. It's hard to say at this point.

I hope they simply didn't ask you to convert it to React without any sort of conversation. That's pretty hard to imagine. I believe you had a meeting and during that meeting they probably told you that they want to open up to Android and the best way they can manage two platforms in a single code base is with React and they want you to test it out to see if that is possible.

It's hard to imagine a company would suddenly, for no reason, switch code base and ask you to convert everything to that code base. I'm guessing they also had a meeting on how they're going to handle bugs with the iOS code and how you should handle it.

If you didn't have the above meeting I would go to the boss with the following:

  • Why switch to React?

  • Are they going to go cross platform in the future?

  • Are you going to handle the React code going forward?

  • Express any contract terms that states you are an iOS contractor and that you must use Swift. Explain that you need a change of contract.

  • What to do with the previous code base? How to handle bugs, feature requests, etc? Is it on freeze for now and just handle bugs?

  • If you don't like React and want to stick with Swift, simply find a new job only if your contract allows you to. If you are to use Swift per contract, I would enforce it until the date of the contract and state you will not work on React without an updated contract.


This is going to hinge on whether the change from programming in one language to another is a "substantial change to your job description". This is key because some changes to your job are allowed, and some are not. For example you can't be hired as a developer and made to spend all your time cleaning toilets.

If you are in doubt you would need to consult a lawyer, but I feel it likely that a change is programming language isn't going to be "substantial". Developers change language all the time, and it's usually no big deal.

In terms of practicalities it is extremely unlikely that you will persuade your company to let you keep coding in Swift if they have decided that Swift isn't useful to them. So your choices are going to come down to a) learning to code in React Native (at your company's expense - which, as others pointed out, is a useful skill which will help you land jobs in the future) b) persuading your company to let you go - possibly with a very small settlement but also probably with some bad will c) looking for another job - possibly while learning React while you do so.

Even if you don't like React and never want to code in it, learning about it is going to be useful. There are other frameworks similar to React, and employers will look more favourably on people with experience in multiple frameworks than on people who only know one, even if they never use those frameworks. And if a future employer is thinking about switching to React, and you are senior enough that your opinion is asked for, you are much more credible saying "I coded with it for a while and it has these problems..." than "I've never coded with it but from what I read it's not very good."

If you are absolutely determined that you do not want to code in React, then either simply go and look for a new job, or maybe see if the company will give you a small severance package to let you go.

  • I'd disagree. In smaller companies, people will probably be a "Software engineer" and take on all jobs, but IMO that doesn't make the roles interchangeable. Career progression, pay scales and job opportunities can hinge on having relative experience in particular languages (let alone frameworks). I'd see it more like a pastry chef in a 2 Michelin star restaurant. At a certain level, they've chosen a specialisation. They could probably cover other stations if needed, but it would be a substantial change. That said, is it worth challenging legally? Probably not. Commented Jan 29, 2021 at 15:59
  • @anotherdave: Companies that care about what particular language you have experience with as opposed to what you've been working on are not really desirable places to work at. If you've been hired in a DevOps role and your boss wants you to exclusively work on machine learning tasks, THEN you should probably start complaining.
    – Peter
    Commented Jan 29, 2021 at 16:41
  • 1
    @anotherdave I wasn't saying "It should be desirable for you to work in React". I was saying that from a contractual perspective the change is probably not a substantial one. Commented Jan 29, 2021 at 17:09
  • @anotherdave That is an argument for quitting the job and finding something else. I think you'll be unlikely to convince a judge that such a change of function is unreasonable if the focus of the business is changing. Commented Jan 29, 2021 at 17:28
  • 1
    @aneuryzm If this came to law, it would be for a judge or jury to decide. But if I was lawyer for the company I would point out that literally millions of developers change the tools they work with and don't consider renegotiating their job description (I've done it myself several times in my career.) And in the software development world a year is an eternity. A company realizing they need to change direction, and executing that decision in less than a year is normal. Again, been there. And even if it wasn't, then bad planning is not a reason to get layoff compensation. Commented Jan 30, 2021 at 15:32

A contract defines the rights and responsibilities between each party and can be terminated at any point. Of course there will always be legal aspects that regulate the contract between the parties to one degree or another, but basically, if you don't like the company, you can quit, and if the company doesn't like you, they can fire you.

If the termination occurred because one of the parties didn't respect their agreement, then, using the contract, one party can take the other one to court to enforce the contract and obligate them to carry out the terms of the agreement.

This mean three things:

  • your company can't force you to do anything.
  • what's written in the contract is important.
  • what the law governing this type of contract says is also important.

Given these three pieces of information, the question is now what are you going to do about it? You mention you will leave the company. But just as well, if your company needs React for some reason and you are not willing to do that, then they can fire you. If the contract is indeed binding, and it says you only do iOS, then firing you is a valid termination of the contract.

To find out if the contract is binding and what chances you have of enforcing it, you will have to contact a lawyer that knows the Netherlands labor laws. But even if the contract says you only do iOS, your contract will most likely be terminated because I don't think there is any law in any democratic country that forces a company to keep employees around if they have certain skills and the company needs a different set of skills while pursuing different opportunities than what existed when you were hired.

Finally, you should consider that the company didn't just flat out fired you, but gave you a chance to continue doing something else. That's not forcing you, that's just a consideration of keeping their employees and retain the know-how in house, while going forward to do something else. If you don't want to be part of that journey, then you can quit.

  • That indeed was my point: if I want to cultivate certain skills for my career, and suddenly they announce they want to change the technology, I can no longer work on those skills and change my career path.
    – aneuryzm
    Commented Jan 30, 2021 at 9:18
  • 1
    @aneuryzm: If you have a clear view of what you want to do in your career, and you are seeking only jobs that will act as stepping stones for that, then if the company is no longer a match for this plan of yours that you consider important, then the answer is obvious: you need to look for another job. The company can't force you to stay and can't force you to do React if you want to do something else. But don't expect the company to accommodate for what you want to do either just because your contract says iOS. Companies evolve, and they can evolve with existing employees or with new ones.
    – Bogdan
    Commented Jan 30, 2021 at 9:44
  • This is what I wrote in the question, I'm moving forward. But they hired me 1 year ago, not 10 years ago. Either is poor planning on company side, or they should have mentioned me that my skills were needed for 1 year.
    – aneuryzm
    Commented Jan 30, 2021 at 10:11
  • @aneuryzm: Companies don't exist for employee stability, they exist to make profits. If that's their new strategy now, does it really matter for which reason it was? In IT things evolve fast and 10 years is a long time for developing software in just one technology.
    – Bogdan
    Commented Jan 30, 2021 at 10:51
  • I repeat: they hired 12 months ago, not 10 years go. That's not a long time, if they had a plan to move to another technology would have been fair they told me. If they didn't have, and decided to switch few months ago, that's poor planning (since they hired new resources (me) few months before.
    – aneuryzm
    Commented Jan 30, 2021 at 10:58

You must log in to answer this question.

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