I was born and raised in Canada. I moved to the US around 4 years ago to work for a software company. I have been thinking I want to move back to Canada to be closer with family & friends, but it’s hard for me to give up a well-paying job. What is the best path forward to continue working for a US company (US salary) but live in Canada? My big problem is that software engineers are paid drastically worse in Canada, especially when factoring the exchange rate so I want to continue to be paid in USD even if it’s an “average” salary by US standards.

I expect to have my Green Card processed within a few months, but to my knowledge it would be considered abandoned after living in Canada for a while which would destroy my work authorization for a US company. I’m not sure if I want to stay another 5 years to get a citizenship which might allow me to work for a US company permanently while living in Canada.

I do contract work that would allow me to live in Canada and work for my own US clients, but I’d prefer to have a permanent employee contract with a US company while living in Canada if that’s possible.

Anyone else have experience with this or guidance?