Dyer began his career at St Johnstone, progressing through the club's youth ranks.
In September 2007, he went on loan to Brechin City.[2] He returned to Saints in December after making nine appearances for Brechin. He made a permanent move to Brechin in January 2008.[3]
On 20 May 2010, he was confirmed as a new signing for Raith Rovers on a two-year full-time deal.[4]
Dyer signed for Greenock Morton in May 2012, under freedom of contract.[5] His contract expired in May 2013.
On 5 June 2013, Dyer signed for Dundee along with fellow former Morton player Peter MacDonald.[6] Dyer made his debut for the club in the first round of the Scottish Challenge Cup, in a 1–0 win over Alloa Athletic, where he came on for Kevin McBride in the 79th minute.[7] He soon made his league debut in a 0–0 draw against Raith Rovers.[8] After making twenty-four appearances in all competitions, as Dundee won the Scottish Championship and promotion to the Scottish Premiership, Dyer signed a two-year contract extension.[9] He left Dundee at the end of the 2014–15 season, having not been offered a new contract.[10]
After his release by Dundee, Dyer re-signed with Brechin City for the third time.[11] After three seasons at Glebe Park, Dyer signed a one-year deal with Dumbarton in May 2018[12] however was released from the club in May 2019 after making just 21 appearances - and not featuring after the start of January,[13] joining Lowland LeagueEast Stirlingshire a month later.[14]