Maddison was awarded a two-year scholarship at the Sunderland Academy in 2011. On 29 January 2013, Maddison signed for League Two club Crawley Town on loan until the end of the 2012–13 season; "Red Devils" manager Richie Barker said that he would provide competition for Paul Jones.
Crawley Town
In May 2013, having been released by Sunderland, Maddison signed permanently for Crawley Town on a one-year contract, but failed to make an appearance for the Sussex club before being released at the end of the 2013–14 season.
Leicester City
Maddison then joined the development side of Premier League club Leicester City. In March 2015, Maddison joined National League North side Leamington on loan until the end of the 2014–15 season. He made his debut in senior football for the "Brakes" on 14 March, in a 1–0 defeat at Gainsborough Trinity. He made eight further appearances for Leamington, becoming the seventh goalkeeper to feature for them during the campaign as the club suffered relegation into the seventh tier.
Yeovil Town
On 14 July 2016, Maddison signed for League Two side Yeovil Town on a one-year contract. He made his Yeovil debut on 30 August, in a 4–3 victory over Portsmouth in an EFL Trophy fixture at Huish Park. On 14 April 2017, following an injury to first-choice keeper Artur Krysiak, Maddison made his English Football League debut for Yeovil at Newport County. In June 2017, after making 11 appearances in his first season with the "Glovers", Maddison signed a new two-year contract with the club. He had to wait until another injury to Krysiak in February of the 2017–18 season before playing a first-team game, though won praise off manager Darren Way for his performance in a 2–0 home win over Barnet on 13 February; Way stated that "he wanted to move in the window but this is his opportunity; you're judged on your reputation and his reputation with the supporters singing his name is very high". He made a total of ten league appearances during the campaign before leaving Yeovil by mutual consent on 26 June 2018.
Darlington
On 26 June 2018, Maddison joined National League North club Darlington. Manager Tommy Wright described his arrival as "a real coup for the club". He featured 29 times in the 2018–19 campaign.
Port Vale
Maddison signed a one-year deal with League Two side Port Vale on 31 July 2019, after impressing manager John Askey on trial; he was expected to provide cover for Player of the Year winner Scott Brown. He made his debut for the "Valiants" in a 2–1 victory over Newcastle United U21 in an EFL Trophy group stage game at Vale Park on 11 November. This would prove to be his only appearance for the club and he was released at the end of the 2019–20 season.