As a youth player, John moved from Southend United to Wolves in 2015.
[3] He joined Doncaster Rovers on a season long loan on 2 August 2019.
[5] John was released by the club following relegation at the end of the 2021–22 season.
[6] On 28 June 2022, John agreed to join Rochdale on a two-year deal.
[7] On 1 August 2024, he joined National League side York City following a successful trial spell with the club.