Smith attended McIntosh High School and was drafted by the Blue Jays in the 1st round of the 2011 Major League Baseball draft. Smith made his professional baseball debut in 2012 and split the season with the Rookie Bluefield Blue Jays and Low-A Vancouver Canadians, hitting a combined.212 with 4 home runs and 29 runs batted in. He spent the 2013 season with the Class-A Lansing Lugnuts, where he batted.284 in 109 games, with 7 home runs, 46 RBI, and 25 stolen bases. Smith was promoted to the High-A Dunedin Blue Jays for the 2014 season. On April 6, 2014, he hit a pair of solo home runs against Cole Hamels, the first two home run game of his career. On August 26, the Blue Jays organization announced that Smith would play for the Mesa Solar Sox of the Arizona Fall League at the completion of the 2014 season. He finished the 2014 season having batted.284 in 121 games played, with 12 home runs and 60 RBI. He stole 15 bases, and posted an OPS over.800 for the first time in his career. On September 24, Smith was named the MVP for Dunedin in 2014. He was promoted to the Double-ANew Hampshire Fisher Cats at the start of the 2015 season, and played the entire season there, batting.265 with 7 home runs and 44 RBI in 117 games played. Smith was not added to the Blue Jays 40-man roster at the end of the 2015 season, making him eligible for the Rule 5 draft. MLB.com columnist Jonathan Mayo named him one of the top available prospects heading into the draft. Smith was invited to Major League spring training on January 12, 2016, and reassigned to minor league camp on March 7. He was assigned to New Hampshire to open the 2016 minor league season. Smith played 126 games for the Fisher Cats in 2016, and hit.265 with a career-high 15 home runs and 74 RBI. He was assigned to the Triple-ABuffalo Bisons to open the 2017 season.
Toronto Blue Jays
On May 18, 2017, Smith was called up by the Blue Jays, and he made his debut the same day against the Atlanta Braves. Smith went 0–2 with a walk in Toronto's 9–0 win. He was optioned back to Triple-A Buffalo on May 20, and recalled on May 24 after Anthony Alford was placed on the disabled list. Smith recorded the first hit of his career in the Blue Jays 8–4 win over the Milwaukee Brewers that day, and was optioned back to Buffalo following the game. He was recalled on September 4. On March 5, 2019, Smith was designated for assignment.
Baltimore Orioles
On March 9, 2019, Smith was traded to the Baltimore Orioles in exchange for international pool money. He began the season as the starting left fielder. On May 31, 2019, Smith hit his first career grand slam off of Drew Pomeranz as the Orioles won 9-6 over the San Francisco Giants. Smith's season was cut short due to injury, playing in just 101 games. He finished hitting.241 with 13 home runs and 53 runs batted in.