Early years McCallum made his name at
Isthmian League Division One club
Dulwich Hamlet breaking through from the youth team to the senior team in October 2010. Over the course of the
2010–11 season, the striker scored a total of 15 goals in 7 games in the
FA Youth Cup, including a
hat-trick to produce a shock 3–2 victory over
Football League One side
Yeovil Town in the Second Round. However, the striker returned to his parent club on 9 March 2012 without making a single appearance for the then
League One strugglers. McCallum's first involvement with the
West Ham United senior squad was on 28 August 2012 as an unused substitute in the Second Round of the
Football League Cup, in which the Hammers beat
Crewe Alexandra 2–0. On 7 January 2013 McCallum signed a new deal with West Ham United extending his contract with the club for a further two and a half years. He was released by West Ham at the end of the
2014–15 season.
AFC Wimbledon (loan) On 22 November 2012, McCallum joined
League Two outfit
AFC Wimbledon on an initial one-month loan deal. The striker made his debut for the Dons on 24 November 2012, in a 3–1 defeat by
Morecambe, but was awarded a
red card in the 82nd minute for a foul on
Nick Fenton. AFC Wimbledon manager
Neal Ardley sought to give the young striker a second chance to prove himself however, by extending his loan spell until 19 January 2013. Having served out his three match suspension, McCallum returned to AFC Wimbledon's starting eleven on 29 December 2012 in a 3–0 defeat by
Oxford United. McCallum repaid Ardley's faith in him by scoring his first league goal the following game in a 3–2 away win over
Torquay United on 1 January 2013. Having found his form, the striker went on to score his second on 5 January 2013 in a 1–0 away win over
Rochdale, which took
AFC Wimbledon out of the relegation zone. This was the first time the
League Two strugglers had secured back to back wins in the
2012–13 season, with McCallum having been instrumental to the club's success in both games. On 12 January 2013, McCallum added to his tally by scoring a brace in a 2–2 draw with
Wycombe Wanderers, totalling four goals in three games. In light of his prolific form, McCallum's loan spell was extended until 23 February 2013. On 11 February 2013, McCallum was named as League Two Player of the Month for January 2013 by
Match magazine following his prolific run of four goals in three matches. On 22 February it was announced that McCallum had returned to parent club
West Ham United a day earlier than planned after failing to shake off an ankle injury.
Aldershot Town (loan) On 8 March 2013, McCallum joined
Football League Two side
Aldershot Town on a one-month loan deal.
Torquay United (loan) McCallum signed a further loan deal in October 2013, joining
Torquay United on a one-month loan. On 2 November 2013 in his third game for Torquay, McCallum scored his first two goals for the club, in a 3–1 away win against
Bury. He scored his third and final goal in a 2–1 away defeat to
Accrington Stanley on 23 November but soon after returned to West Ham prematurely after receiving a back injury. He had played six games in all competitions for Torquay scoring three goals.
Heart of Midlothian (loan) On 30 January 2014, McCallum signed for
Scottish Premiership side
Heart of Midlothian (Hearts), on loan until the end of the season. He made his debut for Hearts on 2 February in a semi-final of the
Scottish League Cup against
Inverness Caledonian Thistle coming on as a 64th-minute substitute for
Dylan McGowan. The game had finished 2–2 and in the
penalty shootout required to decide a winner, McCallum missed his penalty as Inverness won 4–2 on penalties. With two games left in Hearts' season McCallum injured his ankle in training and returned to West Ham. He had played six games for Hearts without scoring.
Portsmouth (loan) On 15 January 2015, McCallum signed on-loan for the rest of the 2014–15 season for
Portsmouth. He made his debut on 17 January in a 1–1 home draw with
Burton Albion. In his second game, a 2–1 home defeat to
Southend United on 24 January, he was sent-off for fighting. On 28 January 2015 he was charged by the
FA with improper conduct arising from the same incident. McCallum was alleged to have made contact with referee,
Lee Collins. On 3 February, he was banned for seven games after pleading guilty to the charge.
Leyton Orient McCallum joined
League Two club
Leyton Orient on a two-year contract on 19 June 2015. He made his league debut for Orient against
Barnet on 8 August 2015, and scored the second goal in their 2–0 win. McCallum wasn't offered a new contract at the end of the 2016–17 season and left Orient, with a record of 15 goals in 43 appearances, to sign a two-year contract with
Eastleigh.
Solihull Moors On 28 May 2019, McCallum joined
Solihull Moors on a two-year deal following his 27-goal season with Eastleigh.
Barnet (loan) On 31 January 2020, McCallum joined
Barnet on loan until the end of the season with an option to make the loan permanent. He made his Barnet debut on 1 February 2020 in a 2–1 home win against
Hartlepool United. Coming on as a 60th minute substitute he scored after only a minute and assisted Barnet's second goal.
Dagenham & Redbridge McCallum signed for
Dagenham & Redbridge on 7 August 2020 on a three-year deal.
Chesterfield (loan) On 10 February 2023, McCallum signed for
Chesterfield on loan until the end of the 2022–23 season, helping the Spireites reach the National League Play-Off Final.
Eastleigh On 30 May 2023, McCallum returned to former club
Eastleigh, rejoining the club after a four-year absence. His return to Eastleigh begun well with 15 goals in his first 16 league games. In December 2023, he scored both goals as Eastleigh defeated League One club
Reading to progress to the
third round. Having averaged a goal every eighty-two minutes across the month, he was awarded the National League Player of the Month award for December. After finishing as top scorer of the National League that season with 31 goals, he was named as Eastleigh's Player of the Year. ==International career==