Career
Heart of Midlothian
A former youth player at Stenhousemuir, Hamilton was signed by Heart of Midlothian in March 2009. He was first included in a matchday squad on 15 May 2011, remaining an unused substitute as they concluded the Scottish Premier League season with a 2–1 defeat at Dundee United. In September 2011, Hamilton returned to Stenhousemuir.
He made his debut on 24 September, playing the full 90 minutes as they defeated East Fife 2–1 at Ochilview Park in the Scottish Football League Second Division.
A week later he scored his first goal, a header in a 5–2 loss at Airdrie United. On 19 October, his loan was extended until 24 December, the maximum 91 days.
Arbroath
His first goal for the club came on 9 February 2013, the only goal of an away victory at Albion Rovers. In July 2013, he trialled at English club N ottinghamshire County, but the transfer collapsed.
On 24 August, Hamilton was sent off after half an hour for conceding a penalty in an eventual 2–1 defeat at East Fife.
He made 35 league appearances in his second campaign at Arbroath, scoring in a 3–4 home defeat to former club Stenhousemuir on 21 September. Brechin City
On 22 May 2014, Hamilton joined fellow Scottish League One club Brechin City. On 23 August, he scored his first goal for the club, heading the opening goal of a 2–2 draw away to Stranraer, and followed this up on 27 September with a goal in a 3–1 loss at Forfar.
On 29 November, Hamilton headed the opening goal away to Annan Athletic in the Scottish Cup fourth round, but it ended in a 1–1 draw.
Ten days later he scored again in the replay, a 4–2 victory. He was sent off for a second time on 14 March 2015 in a 3–0 loss at Peterhead.
Ten days later in the reverse fixture, he scored to start a comeback for a 2–2 draw. Hamilton played 32 League One games in his only season at Brechin, and also took part with them in the play-offs for promotion to the Scottish Championship, where they lost 2–1 on aggregate to Alloa Athletic in the semi-finals.
Alloa Athletic
On 21 May 2015, Hamilton became Alloa"s first signing after securing their Championship status.
On 8 August he played his first game in a professional league, a 3–1 loss away to Queen of the South.