Marquis rose through the ranks at Millwall, making his debut as a substitute for Gary Alexander in a 2-0 defeat to Bristol Rovers on September 5, 2009.
After a loan spell at Staines Town, Marquis scored his first goal for Millwall on November 9, 2010 in his first league start against Norwich City.
Marquis continued to score intermittently, but struggled for regular game-time in the first team. Nevertheless, he signed a new three-year contract with Millwall at the end of the 2010/11 season.
Becoming a Rover
Marquis signed for Doncaster Rovers on a two-year contract on June 13, 2016 and was handed the No. 9 shirt by the club, who languished in League Two at the time.
Midway through the 2016/17 season, Ferguson was quoted as saying by the Doncaster Free Press: "John's been outstanding. He's been a real catalyst for what we've wanted to do.
In the 2018/19 season, they were beaten by Charlton Athletic in the play-off semi-finals as Marquis struck an impressive 21 league goals, and 26 in all competitions.
Portsmouth signed Marquis on July 31, 2019 after reportedly making a bid of just under £2million.
Marquis' move to Portsmouth saw him reunited with former manager Kenny Jackett, who said:
Marquis scored 14 goals in all competitions in 48 appearances in 2019/20. In the 2020/21 campaign, he hit 16 in 41 games as Pompey just missed out on the League One play-offs.
"I couldn't see a way out, so put a note on Twitter and then just started taking as many anti-depressants as I could," said 20-year-old George Carnell, as quoted by The News.
Salary Sport report that Marquis earns £5,100 per week at Portsmouth.