En 2009, il remporte le classement final du Grand Prix Liberty Seguros, qui ne figure pas au calendrier de l'UCI cette année-là. Sa première victoire arrive quatre ans plus tard lorsqu'il gagne la première étape du Tour de l'Alentejo. Il perd le maillot de leader le lendemain au profit de Jasper Stuyven. Il perd la tête du classement de la montagne dans la dernière étape, Karel Hník le devance de deux points. Trois mois plus tard, il termine quatrième du championnat national du contre la montre, où Rui Costa est plus d'une minute et demie plus rapide. En 2016, Silva termine sur le podium trois des dix étapes du Tour du Portugal, ce qui lui permet de prendre la troisième place au classement final.
En 2017, il rejoint l'équipe brésilienne Soul Brasil, qui, en raison d'une suspension, n'est autorisée à participer à des compétitions internationales qu'à la mi-février. À la fin de mai, avant que sa première course n'ait eu lieu, son contrat est résilié. Le , il est suspendu rétroactivement après avoir été contrôlé positif en . Il est suspendu deux ans pour un acte de négligence, lors de l'utilisation d'un supplément dont la composition pourrait être contaminée[1]. En , sa suspension prend fin et il rejoint son ancienne équipe Rádio Popular-Boavista.