Barrett spillede i Arden IF, indtil han som 14-årig skiftede til samarbejdsklubben AaB.[1]
Juventus FC
I december 2012 var Barrett til prøvetræning i italienskeJuventus.[2] Barrett havde en god prøvetrænings-uge i Juventus, på trods af at han pådrog sig en mindre skade til træningen.
Den 22. juli 2012 skiftede Barrett så til Juventus, inden han overhovedet havde fået førsteholdsdebut i sin barndomsklub, AaB. Her var det meningen, at han skulle starte ud med at spille for klubbens primavera hold, dvs. reserveholdet.
I august 2013 var Barrett til prøvetræning i Excelsior,[3] og han havde tidligere også trænet med hos OB.
Odense Boldklub
Den 20. august 2013 blev det bekræftet, at OB havde hentet Barrett på en lejeaftale.[4] Han fik debut for OB den 11. september 2013 i en 9-1 sejr over FC Udfordringen i DBU Pokalen, da han i 60. minut erstattede Krisztián Vadócz.[5]
Den 3. juli 2014 hentede OB Barrett permanent på en treårig aftale.[6]
Landsholdskarriere
Barrett har spillet for adskillige af de danske ungdomslandshold. Han blev udtaget til det danske landshold til OL 2016 i Rio de Janeiro, hvor han fik spilletid i én af Danmarks fire kampe ved den lejlighed.[7]