Ferreira went to DespatchHigh School in his home town of Despatch and was selected to represent Eastern Province at the Under-16 Grant Khomo Week tournaments in 2005 and 2006. He then moved to Pretoria, where he finished his schooling at Afrikaanse Hoër Seunskool. He was selected in the squad that played at the Under-18 Craven Week competition in 2008; at the conclusion of that tournament, he was also included in a South African Under-18 Elite Squad and was included in the South Africa Schools squad for 2008. He was also named in the squad that played in the Under-19 Provincial Championship later that year. He was once again included in the Under-19 squad for their 2009 campaign, as well as appearing for them at Under-21 level in the same season. In 2010, Ferreira made one appearance for during the 2010 Varsity Cup competition and was a key player for the side in the 2010 Under-21 Provincial Championship, scoring two tries in thirteen starts for the side. This included a try in their semi-final match against the that proved to be decisive in a 39–35 victory, but Ferreira missed out on the final. He made one appearances for university side in the 2011 Varsity Cup competition and was also included in the squad for the 2011 Vodacom Cup. However, despite being named on the bench for their match against, he failed to make any senior appearances for the Blue Bulls.
Cheetahs
In search of top-level rugby, he moved to Bloemfontein to join the in 2012. Despite never making a Currie Cup or Vodacom Cup appearance, he went straight into the Cheetahs squad for the 2012 Super Rugby season, starting their opening match of the season, a 25–27 defeat to the in Johannesburg. He made a total of fourteen appearances for the Cheetahs and also scored his first senior try in their match Round Ten match against the. He made his first senior appearance in domestic rugby during the 2012 Currie Cup Premier Division, starting their match against former side the and scoring a try in the first minute of the match for help his side to a 32–18 victory. He made two more starts in the Currie Cup before a knee injury curtailed the remainder of his season. Upon his return from injury, he found himself behind former lock Lood de Jager in the pecking order and he was limited to three appearances for the in the 2013 Vodacom Cup. He also made on appearance on loan at the during the 2013 Currie Cup First Division before a shoulder injury ruled him out for the rest of the season. He returned to Super Rugby action during the 2014 Super Rugby season, making six appearances – only two of those being starts.
It was then announced that Ferreira would join Italian Pro12 side Zebre for the 2014–15 Pro12 season. He played in eight matches for Zebre – six in the Pro12 and a further two appearances in the 2014–15 European Rugby Challenge Cup – but his contract was cancelled by mutual consent on 31 December 2014.