Waterloo a top school for software engineers