For a Canadian software engineer, the TN is often the right first answer. This page is about the cases where it isn't.
Citizens of Canada or Mexico, in a profession on the USMCA list, with the right degree for the listing: the TN is quick, renewable and inexpensive. Use it.
Canadian/Mexican + on-list + single employer + no near-term green-card push → TN. Anything else in the extraordinary tier → the agent-based O-1, where your part stays one page regardless of passport.