The Pittsburgh Pirates selected Hayes in the first round, with the 32nd overall selection, of the 2015 MLB draft. Foregoing his college offer, Hayes signed with Pittsburgh, and spent 2015 with both the Gulf Coast League Pirates and the West Virginia Black Bears, batting a combined .308, with 20 RBI, in 56 games.
In 2016, Hayes spent the season with the West Virginia Power, where he earned South Atlantic League All-Star honors and compiled a .263 average, with six home runs, and 37 RBI, in 65 games. In 2017, Hayes moved up with the Bradenton Marauders, where he batted .278, with two home runs, and 43 RBI, in 108 games and was named a Florida State League All-Star.