Speers began his major junior career playing with the Sault Ste. Marie Greyhounds in the Ontario Hockey League before he was drafted in the 3rd round, 67th overall, by the New Jersey Devils in the 2015 NHL Entry Draft.[1] On September 21, 2016, Speers signed a three-year entry-level contract with the Devils.[2] On October 11, 2016, it was announced that Speers had made the Devils opening night roster for the 2016–17 season.[3] He made his NHL debut on October 13, 2016 in a 2–1 overtime defeat against the Florida Panthers.[4] After three scoreless games with the Devils, Speers was returned for his final junior eligible season with the Greyhounds on October 24, 2016.
On December 16, 2019, Speers was traded to the Arizona Coyotes as a part of a trade that sent Taylor Hall to the Devils.[5] After recording 4 goals and 9 points in 32 games with their American Hockey League (AHL) affiliate, the Tucson Roadrunners, in addition to one assist in 10 AHL games before the trade, Speers signed a one-year, two-way contract with the Coyotes in August 2020.[6]
As a free agent from the Coyotes following the 2021–22 season, Speers left North America to pursue a European career in agreeing to a one-year deal with Swedish second tier club, Västerås IK of the HockeyAllsvenskan, on August 1, 2022.[7]