Whilst a student, MacKay made his professional debut with the Russian State Ballet, dancing as Siegfried in Swan Lake during the company's tour in Germany and Switzerland.[9] After his win at the Prix de Lausanne in 2015, MacKay was awarded an apprenticeship scholarship to a partner company of his choosing.[9] He completed the yearlong apprenticeship at the Royal Ballet.[8]
In 2016, MacKay joined the St. Petersburg-based Mikhailovsky Ballet as a second soloist. The opportunity came when he met company ballet master in chief Mikhail Messerer while auditioning for another company.[4] At 18, he is the youngest person to hold a soloist position at the company.[10] Months after joining the company, he was given his first full-length lead role, James in La Sylphide.[11] He was promoted to first soloist after dancing a lead role in Flames of Paris.[4] MacKay also danced principal and solo roles in Giselle, Cinderella, The Sleeping Beauty, The Nutcracker, Le Corsaire, La Bayadère and Laurencia, among others.[11][12] He made his choreographic debut with The Little Humpbacked Horse, which starred all three of his siblings.[10][11]
In 2020, MacKay returned to the United States and joined the San Francisco Ballet as a principal dancer.[12][13] He made his company debut at the virtual gala in January 2021, held due to the COVID-19 pandemic.[14] In April 2022, MacKay's term in San Francisco ended, and he stated his contract was not renewed by incoming artistic director Tamara Rojo.[15]
In July 2022, MacKay joined the Bavarian State Ballet as a principal dancer.[16]