Il commence sa carrière junior en 2006-2007 alors qu'il joue ses premières parties dans la Ligue de hockey de l'Ouest avec les Rockets de Kelowna. Barrie est repêché lors du repêchage de 2009 de la Ligue nationale de hockey par l'Avalanche du Colorado, à la 64e position. Il connait sa meilleure saison en 2009-2010 alors qu'il remporte un trophée et est nommé dans la 1re équipe d'étoiles de la ligue. Le , il signe son contrat d'entrée LNH (trois ans) avec l'Avalanche[1].
Le , il signe un contrat de deux ans avec l'Avalanche[3]. Après deux saisons avec un total de 102 points en 158 matchs, il signe à nouveau un contrat avec l'Avalanche pour une durée de quatre ans[4].