He became regularly involved in Middlesbrough's first team in 2005–06, and was a member of the Boro squad that finished as runners-up in the UEFA Cup.
Born in Stockton-on-Tees, County Durham,[1] Bates began playing at Manchester United's centre of excellence in Birtley since the age of nine.
After tasting FA Youth Cup success in 2003–04, he was promoted to the first team and made his debut on 6 December 2004, coming on as an injury time replacement for Jimmy Floyd Hasselbaink in a 3–2 win over Manchester City.
After a successful loan spell at Darlington, he made a breakthrough, making 28 appearances and played alongside former manager Gareth Southgate in central defence.
However, despite a number of Premier League clubs being interested, he opted to stay at Middlesbrough, signing a new three-year deal at the Riverside outfit.
[11] He made his debut on 17 November in a 1–1 draw away to Blackpool, conceding a penalty in the 90th minute for handball, which Tom Ince converted.
[15] Bates' playing stint with Hartlepool was ravaged by injuries with the defender making 77 league appearances in four years with the club.
[1] On 24 April 2017, following the dismissal of Dave Jones, Bates was appointed caretaker manager of Hartlepool United for the final two matches of the 2016–17 season.
[17] When Craig Harrison was appointed as Hartlepool's first-team manager in May 2017, Bates moved into a coaching role with the club's U21s side.
[21] In September 2022, it was announced that Bates had joined Northern Premier League side Whitby Town as their assistant manager.