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.