I'm a full stack software engineer who have been freelancing for a client for 2 years, it turned to a remote job but we never agreed on any contract she just keep sending tasks and I do them and bill her hourly, her company is perfect and I feel like a part of their team in U.S and although I'm getting $2000 USD a month (charging her hourly) it's a lot in my country. even if it's not that much in U.S, living costs are cheaper here.

I was offered another job with 3500 euro (net 2000Euro) per month which I know is not a good offer but with opportunity to relocate in Germany with a blue card honestly even if the pay is not perfect and I feel I deserve more I feel I can prove my self there and improve my life drastically . It's a life changing opportunity. I can't refuse this offer as I really want to move to Germany and I this opportunities rarely come.

My biggest concern is we have 2 categories of projects (Urgent projects I do on weekly / monthly basis) and there is 2 big projects we have been working on for a year and they are not yet complete (because designer is late in delivery and vision is not clear, and urgent projects always delay this project)

How do I end this with my client in good terms? What is enough notice time (given that we have no contract but ethics require it)

I will give her one and half month notice but I know we'll never finish the two big projects in this time, and since I am with her for 2 years I am worried they will have a lot of problems without me as they are dependent on me (I know you'll say this is an illusion they don't depend on you, but I'm almost running all company stuff assisting and consulting for the CTO not just developing)

I feel like there is no good way to end this without letting them down, and I don't think they would care about refund for unfinished project. (which I've been working on for a lot and will be hard to refund )

What should I do beside trying to improve documentations?

Sorry for the very long question, needed to let this out.

  • Don't make it more difficult than necessary: just mention your opportunity as you have described it here. Indicate you want to make a nice transition and ask your client about this. And take it from there. Commented Sep 29, 2017 at 12:19

2 Answers 2


In situations like this, I like to imaging I'm the client, and someone else is a freelancer. How would that make me feel, and how would I deal with any mess?

First off, as much notice as necessary. If you have the ability to work remotely for the client, even if it's after your day job, you can offer a change in rate, and to do what you can remotely, until they find another freelancer. This would hopefully keep them happy as long as you're reliable.

Long term, document everything you can. Hopefully, you have a project outline detailing what has and has not been done, and hopefully your code is written or commented well enough that anyone can come in and complete it. To verify if your documentation is useful, ask a trusted friend who knows less than you about the system if they can understand it. If they can, GREAT! If not, then you know what you need to work on.

It is up to the company to make sure they can survive without any single key person. If they can't, it's largely on them for not managing personnel correctly. For your freelancing business, document everything you can, and prepare a hand-off package when requested - passwords, links, tools, licenses, etc. Imagine your freelancer decided to take a job, and what you'd need to complete the project without that person.


I would hire a friend of mine who can take the freelance job or someone who can, and any task given I forward them, but I will do revision after my hired guy finish to make sure quality is still in place.

Something like this: Client>Me>friend>Me>Client in case everything is ok. Client>Me>friend>Me>Friend loop if something is not ok.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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