After coming through the club's youth development system, Caddis turned professional and began playing for the club's reserve side. After a season with the club, Manager Derek McInnes gave Caddis a chance in the first team and made his debut for St Johnstone in the friendly match in a 1–0 win over against Lisburn Distillery. On 28 August 2010, at aged just 16, Caddis made his debut for the club, in a 2–1 loss against Rangers.
After making his debut, Caddis signed a contract extension to keep him at the club until 2012. McInnes was impressed with Caddis's "composure and ability", though he remained an un-used substitute for the rest of the season.
On 24 November 2011, Caddis joined Scottish Second Division side Arbroath on loan until 5 January 2012. He played his first match for Arbroath just two days later against Airdrie United in a 3–3 away draw. His loan at Arbroath was later extended until the end of the 2011–12 season. In March 2012 proved an impact for Caddis when he scored twice, in a 2–2 draw against East Fife and then made double assist in the next match, on 10 March 2012, as they beat Dumbarton 2–0, to extend their eleven unbeaten games.
After a loan spell with Arbroath came to an end, Caddis signed a one-year contract extension with St Johnstone. Caddis made his first appearance since returning from a loan spell with Arbroath, in the third round of the Scottish League Cup, where he made an assist for the fourth round, in a 4–1 win over Queen's Park. After another loan spell, Caddis signed another one-year contract extension at the end of the 2012–13 season. Shortly after signing a new deal, Caddis was awarded the Barbossa Street Saints Young Player of the Year.
In 2013–14, Caddis made his European debut in the first leg of their Europa League third qualifying round tie when he provided an assist for Steven MacLean, in a 1–0 win over Belarus side Minsk. Having been ups and down in the first team at the start of the season, Caddis came on as a substitute in the 68th minute for David Wotherspoon and scored his first goal for the club, in a 2–1 loss against Celtic on 21 September 2013. After making eight appearance for the club this season, Caddis, again, signed a one-year contract extension.
He joined Cowdenbeath on loan in January 2013. Caddis scored on his debut, in a 1–1 draw against Morton. After making three appearance, Manager Steve Lomas initially agreed to let Caddis Cowdenbeath until the end of the season. However, Caddis return to his parent club instead after it took too long for agreement on both parties.
On 20 December 2013, Caddis signed a 28-day loan deal with Alloa Athletic The following day, on 21 December 2013, Caddis made his debut for the club, in a 1–0 loss against Dundee. After making four appearance so far, Caddis had his loan spell was extended until the end of the season on 17 January 2014. Caddis scored his first goal for the club on 5 April 2014, as they beat Dumbarton 4–1. Caddis left McDiarmid Park in February 2016 in search of regular football, after playing in only five matches during the 2015–16 season. He signed for Alloa Athletic later that month.
In July 2016, Caddis signed for Junior side Ardrossan Winton Rovers, joining his brothers Ryan and Dylan at the Ayrshire club.
After just six-months with the Ardrossan Winton Rovers, Caddis signed for Scottish League Two side Stirling Albion.
He made his international debut for Scotland U19 in August 2010.As of 1 February 2016
His brothers Paul and Ryan are also footballers.