Coetzee was born in Windhoek and went to primary school in Aranos before moving to South Africa to attend Hoër Landbouskool Boland in Paarl. He was selected to represent Western Province at the 2006 Academy Week and was subsequently included in a South Africa team that participated at the Under-18 Africa Cup.
After high school, Coetzee moved to Potchefstroom, where he represented the Leopards U21s in the 2008 and 2009 Under-21 Provincial Championships.
He played Varsity Cup rugby for NWU Pukke during the 2010 Varsity Cup competition, making eight appearances as he helped Pukke reach the semi-finals of the competition for the third consecutive season, where they lost to eventual champions Maties.
He made his first class debut on 9 July 2010, playing off the bench in a 13–43 defeat to the Golden Lions in Phokeng in the 2010 Currie Cup Premier Division. He was mainly used as a replacement in the competition, making nine appearances off the bench, but he did make his first senior start in their 17–59 defeat to Western Province in Cape Town and also started their home match against the Blue Bulls two weeks later.
After the 2010 Currie Cup Premier Division, Coetzee moved to France, where he joined Top 14 side Racing Métro. He made a single appearance for them off the bench during the 2010–11 Top 14 season. In 2011–12, he played for them on seven occasions and also made his first start for them against Biarritz, helping them to finish in sixth spot on the log. He also played in the Heineken Cup competition for the first time, making four appearances as Racing Metro failed to progress from Pool 2; this included one start in their match against Edinburgh.
He moved to Brive for the 2012–13 Rugby Pro D2 season, where he became far more involved in first-team action, making 27 appearances for the side as they finished second in the competition behind Oyonnax and subsequently gaining promotion to the Top 14 for 2013–14 by beating Pau 30–10 in the promotion play-off final.
He made fifteen appearances for Brive in the 2013–14 Top 14 season as they finished in ninth spot on the log. He made another seven appearances in the 2013–14 European Challenge Cup, where he helped them to top Pool 3 with five wins and a draw to qualify for the Quarter Finals, where they lost 7–39 to English Premiership side Bath.
His involvement in 2014–15 was more limited, playing in nine matches during their Top 14 season as they narrowly avoided relegation, finishing in tenth spot, but just one log point ahead of relegated Bayonne. He also played in four matches in their European Rugby Challenge Cup campaign that saw them lose all six their matches.
Coetzee then returned to South Africa to rejoin the Free State Cheetahs for the 2015 Currie Cup Premier Division, despite expectations that he would miss the majority of the tournament through his involvement with Namibia at the 2015 Rugby World Cup.
In 2006, Coetzee represented South Africa at the Under-18 Africa Cup.
However, he switched allegiances to his country of birth, Namibia, and made his test debut for them on 6 June 2015 in their 2015 Africa Cup match against Tunisia in Nabeul.
He was also named in a 50-man Namibian training squad prior to the 2015 Rugby World Cup.