The veteran defender joined Woking in the summer of 2022 after a hugely successful Football League career. A former Swindon Town, Leyton Orient, Luton Town, and Stevenage centre-back, he played more than 400 EFL games over a 13-year spell, notably winning promotion to League One with Luton in 2018 and winning the Player of the Year Award at both Orient and Stevenage, in 2012 and 2019 respectively.
A former Scotland B and Scotland youth international, he began his senior career with Celtic in 2003 after graduating from the club’s youth academy. He spent more than a decade on the books in Glasgow and captained both the club’s under-19 and reserve teams. He enjoyed two loan spells to fellow Scottish clubs: Livingston, in the First Division, and fellow Premier League side St Mirren. He made 34 appearances in all competitions as he helped the Saints avoid relegation and reach a Scottish Cup semi-final, which they lost to Rangers.
In the summer of 2009 he moved to England, joining Swindon Town in League One, where he made 96 appearances over the course of two seasons. In the first of those campaigns the Robins finished fifth and reached the play-off final at Wembley, only to lose out to Millwall. He also played against the Cards in a 1-0 FA Cup win at the County Ground. During his second season at the club he was named vice-captain, but the campaign ended in disappointment, with relegation to League Two.
However, he remained in League One, joining Leyton Orient. He spent four years at Brisbane Road, where he was also utilised at right-back, as well as in his traditional centre-back position. He made 160 appearances in all competitions, including 54 games in 2013/14 when Orient finished third, losing out in the play-offs to Rotherham United on penalties. Once again, his final year at a club ended in disappointment as Orient were relegated to League Two.
After his time with Orient he moved into League Two with Luton Town, joining them in the summer of 2015, and spending three years at the club, making a further 111 appearances. In January 2016 he was appointed as the club’s captain following the departure of Steve McNulty. This time his final year at a club ended in celebration, with Luton finishing as runners-up, and winning promotion to League One. Following his release by Luton, he remained in League Two with Stevenage, where he made 154 appearances across four years – taking his career tally to more than 550 in all competitions.
He enjoyed an excellent first season with the Cards, featuring on 45 occasions as the club enjoyed its most successful league season since 1998, reaching the National League play-offs for the first time in the club's history. His good form was rewarded by a one season contract extension in March 2023.