Born in Birmingham, Barnett began his youth career at Wolverhampton Wanderers, but was released without making an appearance. He then joined non-league sides Boldmere St. Michaels and then Alvechurch before being picked up by Windsor & Eton. From here, he was signed by Colchester United manager Roger Brown on 27 August 1988. He was sent off on his professional debut in the opening-day fixture of the 1988–89 season, becoming only the second U's player after Nigel Crouch to be dismissed on their maiden appearance for the club. After serving his suspension, Barnett was again sent off in only his seventh league game during a 2–1 home defeat to Scunthorpe United on 8 October 1988. His disciplinary record earned him the nickname "Psycho" with the Colchester fans, but his time at the club came to an abrupt end on 24 February 1989 when manager Jock Wallace watched him commit an off-the-ball indiscretion during a reserve game. After his Colchester exit, Barnett moved to Canada to play for Canadian SoccerLeague club Edmonton Brickmen where he played alongside Justin Fashanu. Barnett returned to England in October 1989 to sign for West Bromwich Albion on a non-contract basis, though he failed to make a first-team appearance for the Baggies. He then moved to Walsall for the early part of the 1990–91 season before returning to non-league football with Kidderminster Harriers. Here, he made 39 Conference appearances and helped the club to Wembley for the 1991FA Trophy final, in which they finished runners-up to Wycombe Wanderers. Barnett was signed by Barry Fry at Barnet for a £17,000 fee in February 1992 and aided the club to promotion from the Third Division in 1992–93. As the Bee's struggled in the higher tier, Barnett was loaned to his hometown club Birmingham City in December 1993 where he played twice, before returning to Barnet who were subsequently relegated. While at Underhill, Barnett made 59 league appearances and scored three goals. Birmingham City eventually signed Barnett on a permanent basis in February 1994, once again teaming up with Barry Fry who had been appointed manager at St Andrew's. Signing for £150,000, the club were relegated to the Second Division in 1994 but Barnett helped the club gain immediate promotion back to the First Division as a virtual ever-present feature of the first-team. He also made another Wembley appearance, this time in the 1995 Football League Trophy Final, which City won 1–0 over Carlisle United with a golden goal from Paul Tait. However, he did not feature in the 1995–96 season and played just six games in 1996–97 under new manager Trevor Francis, and so left for Dunfermline Athletic in July 1997. Barnett featured 21 times for Dunfermline in the Scottish Premier Division during the 1997–98 season, scoring once to help Bert Paton's side retain their top-flight status. However, before the season was up, Barnett made a deadline day loan move to Port Vale, where he made nine appearances and scored one goal. During the close season, the move back to England was made permanent as he made 27 further appearances for Vale. His final professional transfer came following a successful trial spell at Lincoln City in the summer of 1999, where he made 22 league appearances and netted three times. While with Lincoln, Barnett had a three-game loan spell in the Conference with Forest Green Rovers. Notified by Lincoln that he would be given a free transfer at the end of the 1999–2000 season, Barnett ended up with an injury prior to his release and in turn announced his retirement.
International career
In 2000, Barnett was due to play international football for the Cayman Islands, but a Football Association veto blocked the efforts of nations such as the Cayman Islands acquiring English players.
Coaching career
After finishing his professional playing career, Barnett joined the Birmingham City Academy as a part-time coach, before joining Halesowen Town as first-team coach in March 2001. He then took up his Academy role at Birmingham in a full-time capacity. Barnett would later turn out for Moor Green, where he made five appearances in 2002. Following his return from the United States in the summer of 2009, Barnett signed for Romulus in August and was subsequently appointed first-team coach at the club in February 2010 after initially refusing to be involved in coaching at the club having obtained a UEFA 'A' Licence. He agreed to continue his role at the club for the 2010–11 season, however, his disciplinary issues continued after being given a six-match suspension and a £100 fine by the FA following four breaches of FA Rule E3 - language and/or behaviour amounting to improper conduct - following a match with Belper Town in November 2012. He stepped down as manager in January after deciding to concentrate on activities outside football.