Shaw, a native of Glace Bay, Nova Scotia, was taken in the third round (No. 75) of the 2011 NHL Draft by the Florida Panthers after putting up 46 points (26 goals, 20 assists) in his second season for Cape Breton of the Quebec Major Junior Hockey League. He split 2011-12 between Cape Breton and Quebec, then had his best offensive season in the QMJHL for Quebec in 2012-13, finishing with 68 points (26 goals, 42 assists).
The Panthers signed him to a three-year, entry-level contract on April 22, 2013, and he began his pro career in 2013-14 with San Antonio of the American Hockey League. Shaw earned his first callup to the NHL on Oct. 29, 2015, and played his first game one night later against the Boston Bruins. He scored his first NHL goal on Dec. 8, 2017, against the Ottawa Senators and finished the season with five goals and seven points in 53 games.