I have been offered a job as a junior software engineer (with little to no previous experience) in a scale up.

I have not accepted yet, as it turns out they have a very restrictive non compete clause that I have been trying to make less restrictive: I am indeed not sure I will keep the job for long, as I need to relocate and this might not work out in the long term for a few reasons.

They say they may have been able to modify the clause, but the CEO wants to speak to me first. What she says is along the lines of:

  • intellectual property is key for our business
  • we will sue people not respecting the non compete
  • hiring a junior is risky because he might want to leave for a better position, even if the position is already good, out of inexperience
  • do not join us if you do not have the mindset to stay 5 years. If you think of committing for 2 years (possibly switching to a competitor), don't join. We invest a lot of money in training you, and you leaving for another company will be very stressful because of intellectual property reasons

I really was thinking about joining for 1/2 years and then see, 5 years sounds too long. Let us assume now that the revised non compete is satisfactory.

What are reasons not to join them with the current plan?

Also, is it a good idea to mention that the timeframes do not quite match, but things would change if they reconsidered letting me work remotely after some time? This possibility was excluded at the beginning, but as the team is geographically distributed, this might be feasible.

I have detailed the CEO part because it sounds a bit strange that I got this meeting. The CEO said that editing the contract and non compete might take long, and that the HR manager that I was negotiating with, might have overlooked this aspect. If you think this is a red flag please mention this in your answer.

  • 3
    I presume they are committing to pay you for 5 years of course? Most of the CEO's points apply to almost any programming job. Also, are non-competes actually legal in your area?
    – Jon Custer
    Commented Oct 31, 2023 at 18:09
  • 3
    I doubt that the CEO can guarantee the startup will be around in 5 years. So asking employees to guarantee that they will be around in 5 years is a very asymmetrical ask.
    – Jon Custer
    Commented Oct 31, 2023 at 18:23
  • 2
    Can't really answer this question unless we understand the company's line of business. If it's a generic software company or consulting firm, NOPE. It matters.
    – Xavier J
    Commented Oct 31, 2023 at 19:57
  • 4
    You clearly don't intend to conform to their verbal expectations and you don't want to conform to their written contractual expectations... why are you even continue interviewing there? Is this some "I have to feed and house my kids somehow, even if I have to lie to get the job" situation?
    – nvoigt
    Commented Nov 1, 2023 at 7:30
  • 3
    "Scale-up" is often a make-it-or-break phase in the history of a business. It's when lots of companies realize that they tried to bite far more than they can chew, that their business model doesn't actually scale the way they thought it would, that their product was actually just a short-living fad, etc.. If you are looking for an employer you know is going to still exist in 5 years from now, you should look for one that is well-established on its markets and has a broad portfolio of multiple independent products.
    – Philipp
    Commented Nov 1, 2023 at 13:03

6 Answers 6


I'm not sure it's wise for a junior software engineer, with little to no experience, to take a job at a startup. Most startups fail. Few hire juniors -- they're on a fast track to getting going and don't have time to wait for people to learn what they need to learn. Most startups also don't offer quite enough salary, instead providing the lottery ticket that they might be the next Google or whatever. And it's reasonably common that they get wound up in silly things, like a CEO laboriously explaining and negotiating an NDA with a no-experience junior who is, to be frank, a bit of a fungible commodity - it's not really possible to tell good ones and bad ones apart at this stage.

Now, given that you have no idea this startup will even still be in business 5 years from now, why are you pre-deciding how long you will stay there? Is this an non-optimal job for you that you're considering taking just to make it easier to get a job you really want? Or just to pay the bills until you "have to" relocate? Why aren't you looking for a job in the place you plan to move to?

Here's what I would suggest. Do a little research to establish if you live in one of the places that doesn't strongly enforce non-competes. Understand the constraints you will be under. Take the job (unless you have other, better, offers, which you haven't mentioned.) Don't mention your future intent to move or your wish to work remote at that time. Enjoy the job, get better as a software engineer, learn how things work in industry - and the problems that can cause, meet people, gain experience. When the time comes that you want to relocate, ask for remote work. If you've proved yourself to be an asset, they'll probably consider it. If they say you can't work remotely, you can shake hands and get a job in your new location. To the extent your non-compete is enforceable at all, it probably won't be in a different place.

Alternatively, forget them. They are not well organized and your relationship is starting with an argument and a battle. Look for a job that excites you so much you want to do it for years and years. Look for a job in the place you plan to move to, or with a company that already has an office in the place you plan to move to. Look for things you want, not things you'll settle for.

  • As a very first comment, the start up is actually a scale up, so it's not so unsafe. Apologies for the imprecision, I revised the question.
    – Lilla
    Commented Oct 31, 2023 at 18:24
  • I certainly have been in the position of accepting sub-par jobs to get by. CEO doing job interviews does sound amateurish and very suspect to me.
    – Neil Meyer
    Commented Nov 2, 2023 at 7:53

All employment is risky. The seniority of the position hardly changes this. If they are already thinking about reasons why you shouldn't join then that is a clear indication of a poor employer

If they require a 5 year commitment then that should be made explicit in the employment contract, along with how such an extreme time commitment will be compensated.

Companies all expect loyalty from there employees, but give none in return. The days of our fathers and grandfather's who could work for the same employer for 40 years are long gone.

I will do what is required from me, but anything extra we will have to negotiate for. Employees should simply think about nobody's interest but themselves while at work. We have companies to thank for this selfish mindset.


Every non compete I have ever seen has started when your employment terminates - typically 1 or 2 years after either: they terminate you or you quit.

  • If the 5 year counter starts at the end of your employment, it is excessive.
  • If the 5 year counter starts when you join the company, the stated reason is ... "incorrect" - after 5 years you will know a ton of IP and be clear of the non-compete (although an NDA probably still applies).

Most likely you will at least look for another job at the 1 or 2 year anniversary and in all likelihood (without this lock-in hanging over your head) your salary will increase significantly on these anniversaries.

There will be other jobs which don't require such a long commitment so I would strongly suggest you take one of those.


With respect to trying to change this employers mind - you can try, but frankly you don't have any real leverage, there are plenty of other junior devs some of which may be willing to sign the contract as is. Your best bet is just to keep looking...


Joining anything for one or two years -- unless as part of an explicitly time-limited consulting or a internship arrangement where they have planned exactly how much they will invest in you-- can be a major waste of the company's resources. Independent of the other comments, I don't find it unreasonable for the CEO to ask you not to proceed with the application unless you are serious about the engagement.

Barring a disaster, I would say that five years is in fact close to the minimum time you should be hoping for a real salaried job to last.

If you aren't seriously looking for employment rather than just a temporary paycheck, please do consider walking away from this application.

  • This may be true more generally, but is often not the case in tech, especially for fresh grads. Of the cohort that I started my graduate scheme with, less than a third were still there after three years, and everyone I've spoken to in the industry has said this is absolutely the norm. The 'why' of it would be its own answer.
    – Dakeyras
    Commented Nov 2, 2023 at 10:54
  • 2
    @Dakeyras Indeed. In many places it's also necessary to switch jobs every few years to get a decent salary. Especially early on in one's career. Even disregarding that, I think it's silly to think a junior with no (or hardly any) experience can commit for such a time frame. It's certainly not fair to them to ask that.
    – Dnomyar96
    Commented Nov 2, 2023 at 13:10
  • Expectations differ by time, by field, by company. If you don't want to commit that long that's fine (though I'm still not convinced it's the best approach), but there is absolutely nothing unfair about an employer seeking people who are willing to do so. It may just not be the job for you.
    – keshlam
    Commented Nov 2, 2023 at 13:40
  • Wouldn't almost every employer prefer people to stay 5+ years, because of the already mentioned, cost of training, experience of the specifics of the company and it's products, and so on. And also the cost is usually way lower to keep people than hire new one. So no need for a company to explicitly state that imo and no need for you to disclose your plans to them. Maybe still think about if it makes sense if expectations are that far apart.
    – kirbby
    Commented Nov 3, 2023 at 13:44
  • There may be no need to state it. It's still not inappropriate to remind the candidate of this and ask them, as a courtesy, to please not apply if they plan to bounce before then, or even for the CEO to deliver that message. And I still feel that planning to leave that quickly is strategically suboptimal, though I know there are people who disagree.
    – keshlam
    Commented Nov 3, 2023 at 14:12

There's a standard formula for retention of any staff, which is market-leading pay and great working conditions.

Whilst your intention to relocate may be non-monetary, when an employer appears neurotic about retention during recruitment, it's often a sign that they're looking for some sort of idiot who doesn't care about low pay and poor conditions. Often the employer has already lost somebody crucial, hence their concern, but doesn't intend to change their ways.

It is therefore a red flag.

We invest a lot of money in training you

That's almost certainly nonsense. Smaller companies rarely invest anything in training developers - and I infer this is a small company as a "junior developer" is liaising directly with a "CEO" (not a technical manager).

This is because most developers have already learned all the things that can be trained in simple ways, often by self-learning, and the complicated judgments which distinguish a junior from a senior require complicated scenarios to be set up and the prolonged availability of an expert to consult and supervise using apprentice-style training. None but the largest corporations have these apprentice-style environments for developers.

  • 3
    "That's almost certainly nonsense. Companies rarely invest anything in training developers." I don't belive that to be universally true, or even close to being true, especially when you are hiring junior developers. The problem is retaining those juniors once you are trained.
    – Aida Paul
    Commented Nov 1, 2023 at 11:39
  • @TymoteuszPaul, in larger corporations it may be more common, because they have both more resources and more routine tasks that can be divided up and trained-for, but in the kind of workplace where the "junior developer" is talking to the "CEO", there's going to be little or no training, because bought-in training is not effective at producing the necessary skill set.
    – Steve
    Commented Nov 1, 2023 at 11:54

Look said CEO straight in the eye, ask him/her how long THEY planned to commit to keeping you on, then SHUT UP. If they want you to commit to five (5) years, they should have no problem at all committing to a similar period.

When he/she says "You're kidding", you reply "Yes, and you started it." Then walk out and go somewhere sane.

  • 2
    If you want to recommend some movie-like power plays, at least outline the almost certain outcome of not getting the job.
    – Aida Paul
    Commented Nov 1, 2023 at 12:02
  • @TymoteuszPaul, he's not going to get the offer after that. Both sides will know it. He will be dodging a bullet, he needs to know it, and he might as well have some fun in the process. The CEO knows he/she is being completely unreasonable. That's why they are having to look at entry-level people for a startup. Commented Nov 1, 2023 at 12:11
  • I mean, on op question they say that boss is also willing to sign 5 years contract so I am not even sure what other commitment you are expecting there. And I don't think 5 year contracts are unreasonable ether, or that this instantly leads to entry level hires only in a scale up. By all means feel free to explain that in your answer.
    – Aida Paul
    Commented Nov 1, 2023 at 12:14

You must log in to answer this question.

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