Career
McKinnon started his career with Dundee United, turning professional on 12 August 1986. He soon gained attention as one of the most promising young midfielders in Scottish football. He left to join Aberdeen on 8 February 1994, costing the Dons £300,000.
He remained at Tannadice Park until being released at the end of the 1997-1998 season during which he had struggled to gain a first team place.
In the close-season he attracted interest from Crystal Palace, as well as French sides Auxerre and Bordeaux, but after initially being on trial, joined Luton Town on 6 August. He left to join Livingston on 12 September 1999, and after an injury hit season and a trial with Wolverhampton Wanderers under Colin Lee, joined Raith Rovers on a short-term contract on 28 July 2000.
Raith were unable to meet his wage demands, so he left and began training with Ayr United. He joined Portadown in October 2000, playing one game.
In need of first team football to regain his match fitness he joined Stirling Albion on trial on 27 October, playing in the match against Queen"s Park at Hampden Park.
He joined East Fife, originally as a triallist on 17 November, leaving on 25 January. On 15 March 2001 he joined Torquay United on non-contract terms, but left just five days later without appearing in the first team after the re-emergence of a groin injury. He returned to Torquay as a triallist on 30 July 2001, but along with most of the many players Roy McFarland considered during the round of pre-season friendlies was released without earning a contract.
Although linked with a return to England to have another attempt at breaking back into full-time football, he signed a deal to stay with Montrose until the end of the season in December 2001.
He remained with Montrose until joining Raith Rovers for a second time in January 2003. McKinnon moved to Lochee United in 2004, before leaving in July 2005 to take up a player/coach position with Broughty Athletic.
McKinnon returned as Lochee manager in 2006. On 16 July, McKinnon was appointed the new Technical Development Officer with the Scottish Football Association.
He replaced Mark McNally, who became assistant manager at Scottish First Division club Morton.
McKinnon was appointed manager of Scottish Second Division club Brechin City on 9 October 2012. On 23 May 2015, it was confirmed that McKinnon had been appointed manager of Raith Rovers.