Hales was born in Birmingham and lived in the West Heath district of the city. He joined Birmingham City's academy when he was 12, and took up a two-year scholarship in July 2011. He scored one of the goals that took Birmingham's reserve team through to the quarter-final of the 2013 Birmingham Senior Cup, According to the Birmingham Mail, "he plays with a tremendous work ethic, is aggressive and possesses good movement in and around the penalty area. His attitude and character delights Blues' coaches and he is striving hard to improve all aspects of his game". His first competitive involvement with the first team came when he was given a squad number in December 2012, as injury cover before the visit to Barnsley. He made his debut in the third round FA Cup tie away at Leeds United, replacing Ravel Morrison with five minutes plus a lengthy period of stoppage time remaining. The match ended 1–1. Ahead of the 2013–14 season, Hales signed his first professional contract, of one year with an option for a second. He scored for the development squad both in pre-season and in the Professional Development League, before joining Conference North club Worcester City in mid-October on loan for a month. He made his debut as a second-half substitute in the FA Cup third qualifying round against Rugby Town on 12 October, and was in the starting eleven for the replaythree days later; Worcester won 2–0. He made five appearances in all during his loan spell, four in the FA Cup and one in the Conference North, without scoring. Hales spent time training with Notts County in early 2014, and played regularly for Birmingham's development squad, but Birmingham released him when his contract expired at the end of the 2013–14 season.
Kidderminster Harriers
After spending the 2014–15 pre-season with Kidderminster Harriers, Hales signed a one-year contract with the Conference Premier club on 25 July. On 2 September, he joined Northern Premier League side Stourbridge on a month's loan to gain experience of first-team football. He scored on his first-team debut against Trafford, "brilliantly back-heeling into the bottom corner" for Stourbridge's first goal in a 2–2 draw. The loan was extended for a further month, and by the time he returned to his parent club, he had played nine matches, all in the league – Kidderminster refused permission for him to play in the FA Cup – and scored four goals. Hales made his Kidderminster debut – his first appearance at Conference Premier level – on 12 November as a second-half substitute in a 2–0 defeat at home to Aldershot, and his first start ten days later in a 2–0 win away at Grimsby Town. After failing to make an impact with Harriers, Hales returned to Stourbridge on loan until the end on the season. In June 2016, Hales went on trial at Scottish Championship club Greenock Morton.