computer software engineer careers in Canada