Born in Camrose, Alberta, Ferguson recorded 78 assists in three full seasons with the Kamloops Blazers of the WHL, excelling in the post-season when the Blazers won the Memorial Cup in 1992 and 1994. His finest junior season came in 1993-94 when he scored 54 points and was voted to the WHL West Second All-Star Team.
On June, 2, 1994 the undrafted Ferguson signed as a free agent with the Edmonton Oilers. He spent most of the 1994-95 season adjutisting to the pro game in the AHL with the Cape Breton Oilers while starting the season with the ECHL's Wheeling Thunderbirds. The young rearguard spent another three years in the minors and received a one game recall by Edmonton in 1997-98 before he was traded to the Ottawa Senators in March, 1998 but never suited up for them.
In the summer of 1998 Ferguson signed as a free agent with the Mighty Ducks of Anaheim but was only called up for two games while spending the majority of his two seasons with the team's AHL affiliate in Cincinnati. He rejoined Edmonton and played 20 games in 2000-01 and went on to become a regular on the Oiler blueline for the next three seasons before being acquired by the Minnesota Wild in the summer of 2005.
Ferguson spent the majority of the 2005-06 season with the Wild's AHL affiliate in Houston and saw limited action with the Minnesota line-up. After signing as a free agent with the San Jose Sharks in 2006, Ferguson appeared in 79 games with the club's AHL affiliate in Worcester. In the summer of 2007, Ferguson signed overseas with Ingolstadt of the Deutsche Eishockey-Liga in Germany.