Dennis was born in Hendon, London, and joined Watford's youth setup in 2003 at the age of ten. Released in the summer of 2009, he then progressed through the youth system at Dagenham & Redbridge after starting a two-year scholarship immediately after his release. In May 2011, after completing his scholarship, Dennis signed his first professional contract with Dagenham & Redbridge.
Whilst a second-year scholar, Dennis joined Southern League Division One Central side Bedfont Town on loan. In March 2011, he spent a month on loan at Conference South side Welling United, although he failed to make any appearances.
In August 2011, Dennis joined Isthmian Division One North side Grays Athletic on a season-long loan deal. His debut for Grays came in a 3–2 win over AFC Dunstable in the FA Cup, where he scored from close range. His league debut came a week later in the 2–0 away win at Chatham Town, and he scored his first league goal for the club in the 4–0 home win over AFC Sudbury. Dennis scored the winner in a 2–1 win at Brentwood Town, scoring with a simple header, and continued his scoring run in September with his fourth goal in a 3–2 win against Redbridge. He then scored a brace in a 3–0 win over Whyteleafe in the FA Trophy, and netted his final goal for Grays in January 2012, when he scored the first in a 2–1 away defeat to Tilbury. Dennis' final appearance for Grays came in March 2012, in a 3–2 defeat to Soham Town Rangers. Later on in the month, Dennis returned to Dagenham due to sustaining an Achilles injury. He made a total of 28 appearances for the club, scoring seven goals.
On 15 October 2012, Dennis joined Isthmian Premier Division side Canvey Island on a one-month loan deal. A day later he made his debut in the 6–0 home win over Ilford. His first goal for Canvey Island came in a 4–2 win over Uxbridge in an FA Trophy replay. His second goal for the club came a week later, scoring a header in the 6–2 win over Braintree Town in the Essex Senior Cup. He scored a fine chipped goal in the 1–1 draw with Chesham United in the FA Trophy. In November 2012, Dennis extended his loan with the club for a further month, after scoring three goals in nine starts. His first league goal came in December 2012, scoring the second in a 4–3 home win over Kingstonian. On 11 December, Dennis extended his loan for a further and final one month. His final goal for the club and first away goal came in a 5–4 away defeat to Whitehawk in January 2013. His final appearance for Canvey came in a 2–0 home victory over Thurrock in the league. He made a total of 21 appearances for the club, scoring five goals.
Return to Dagenham
On his return to Dagenham in January 2013, Dennis signed a new two-and-a-half year contract until 2015. He made his debut for the Daggers on 19 January 2013, in a 1–0 defeat to Wycombe Wanderers in Football League Two, replacing Brian Woodall as a second-half substitute. He continued to appear briefly as a substitute for the remainder of the season as Dagenham escaped relegation to the Conference Premieron the last day of the season. He finished the season with six appearances for the Daggers. The start of the 2013–14 season coincided with the permanent appointment of manager Wayne Burnett. Dennis made his first appearance of the season in a 2–0 home win over York City, replacing Josh Scott as a substitute. His first goal for the Daggers came in the 4–2 win over Colchester United in the Football League Trophy, scoring the final goal a minute after coming on as a substitute. Dennis returned to Dagenham in December 2013, after his loan with Hayes & Yeading ended. On 24 January 2014, he was released by Dagenham after his contract was terminated due to mutual consent.
In November 2013, Dennis joined Conference South side Hayes & Yeading United on a one-month loan deal. He made his debut for United in the 2–1 FA Trophy win over Bognor Regis Town. His league debut came a week later against Weston-super-Mare in a 2–1 home defeat. His third and final game for Hayes came in a 2–1 home defeat to Ebbsfleet United.
Dennis then joined Bromley on 12 February 2014. He made his debut in a 3–2 away defeat to Dorchester Town, scoring after coming on as a second-half substitute.
On the 23rd May 2018, Dennis joined Portsmouth on a free transfer, signing a two-year deal. Portsmouth manager Kenny Jackett described Dennis as 'an exciting player with a lot of talent', however never managed to utilize the skill in his dominantly reoccurring squad. EFL Trophy player of the round Jan 2019
Leyton Orient
On 1 August 2019, Dennis joined League Two side Leyton Orient for an undisclosed fee.