Principal Software Engineer jobs in Canada