Привет, Саша, программист - хороший выбор, и у тебя в отношении Канады три самых важных дела:
учить английский до уровня по системе IELTS "7" по всем частям, кроме listening - здесь желательно "8", что реально, учитывая запас твоего времени. Программисты в тех иди иных вариантах почти всегда были в списках допущенных до иммиграции списков, поэтому, даже если они пропадут на год-два - это не проблема. Подождёшь и все-равно подашь заявление.
Работай уже сейчас, хоть на полставки - это важно для опыта работы: пока канадцы опыт работы на полставки делят на два, то есть, проработал 4 года - зачтут 2. Но все может измениться, могут по примеру Австралии начать считать опыт работы на полставки как на полной. Ввели же они Educational credential assessments по типу австралийского skills assessment, введут и еще чего-нибудь из опыта товарищей из British Commonwealth.
Ну, и обязательно доучись и получи диплом и держи руку на пульсе.
Have a good luck!