Barker was born in Sheffield, South Yorkshire. He began his professional career at Barnsley in 1999, winning the club's young player of the year award in his first full season. After beating competition for his place from Mateo Corbo, Barker was again awarded the club's young player of the year award, becoming the first player to win the award on two occasions. After appearing in over 100 games for the club, on 12 July 2002, 22-year-old Barker joined Cardiff City in a deal which was thought to be worth an initial £500,000, with an extra £100,000 if Cardiff achieved promotion. After dropping down a division to sign for the club, Barker helped the team win promotion in his first year. He remained first-choice left back for the majority of the next few years, joining Stoke City on loan in August 2004 for three months only to be recalled after one, and was voted the Cardiff City supporters' player of the season in 2004–05. On 18 August 2006, Barker was signed on loan by Colchester United until January 2007. This was later extended until the end of the season. The move was not made permanent at the end of his loan spell, but he was regarded as a very popular and respected player with the fans at Layer Road. On 5 June 2007, Barker signed for Queens Park Rangers in a two-year deal, on a free transfer. He signed for Championship rivals Plymouth Argyle on an emergency loan deal on 9 August 2008, allowing him to make his debut later that day against Wolverhampton Wanderers. The transfer was made permanent two days later, with Barker signing a three-year contract for an undisclosed fee. On 5 August 2010, Barker joined Southend United on loan for one month after being told he was surplus to requirements by Argyle manager Peter Reid. He signed a two-year contract with the club at the end of the month on a free transfer. On 30 April 2011, Barker was voted Southend's player of the year for the 2010–11 season. Having been vice-captain during his first season with the club, he was appointed captain ahead of the new campaign after the departure of Craig Easton. He scored his first goal for Southend as they were defeated by Crewe Alexandra in the 2011–12 League Two play-offs. Barker left Southend on 9 August 2013 after his contract was terminated by mutual consent. He subsequently joined Aldershot Town the same day and made his debut for the Conference side the following day in a 1–1 draw with Grimsby Town. In January 2015 Barker was appointed player-manager of Aldershot following the sacking of Andy Scott. In June 2016, Barker signed for Hereford as a player-coach. In October 2016, he joined National League South side Weston-super-Mare as player/assistant manager to boss Scott Bartlett. Barker left Weston-super-Mare in July 2017.
Death
On 1 January 2020, Barker was found dead at his home in the Cyncoed area of Cardiff at the age of 39. The cause of his death was not revealed, but was not treated as suspicious. He had taken his own life.