David Barrera naît à Séville au sein d'une famille anglo-espagnole[3]. Il commence le rugby à 12 ans dans sa ville natale[4], au sein du Ciencias RC[5]. En 2007[6], il rejoint le centre de formation du Stade montois, avec qui il remporte la Coupe René-Crabos. Il reste cinq ans au centre de formation, mais ne peut passer professionnel au sein du club[4]. Dans le même temps, il débute en équipe d'Espagne avec une première sélection en 2010 face au Canada, qui attendra 2012 pour être suivie par des sélections plus régulières[2].
Après sa formation à Mont-de-Marsan, il signe au Stade langonnais en Fédérale 1, tout en poursuivant ses études à Bordeaux. Il y réalise « une saison sans trop de gloire »[4], mais décroche ses diplômes. Il peut ainsi être entraîneur de rugby (jusqu'en Fédérale 1) ou être préparateur physique[4]. À la suite de cela en 2013, il décide de se concentrer sur le rugby à temps plein, et rejoint le RAC angérien, toujours en Fédérale 1[4]. Lors de l'intersaison 2014, il part en Nouvelle-Zélande rejoindre son équipier Tim Alligier au sein du Glenfield RUSC(en)[7].
Après son passage en Nouvelle-Zélande, il revient en France et signe en faveur du RC Tricastin, avant de rejoindre en 2015 le RC Vannes[3]. Avec les bretons, il obtient la promotion en Pro D2, et découvre ce niveau l'année suivante. Il ne jouera que 10 rencontres en Pro D2[1], avant de rejoindre l'US bressane, où il remporte de nouveau l'accession à la Pro D2[1]. Il n'est cependant pas conservé pour la saison en Pro D2, et rejoint l'ASVEL Rugby en 2018[1]. En 2020, il est conservé à l'ASVEL qui devient le Stade métropolitain[8].