software engineer salary per month in canada