Born in Stornoway, Macdonald moved with his family to Aberdeenshire as a child, and attended Inverurie Academy and later the University of Aberdeen.
Macdonald received an MA in history and a PhD in African studies and later lectured at the university.
[1] Macdonald unsuccessfully contested the Moray UK Parliament constituency at the 1997 general election.
Prior to his election as an MSP, he worked as a parliamentary researcher to the MPs Frank Doran and Tom Clarke.
[5] He became interim Deputy Presiding Officer of the Scottish Parliament in April 2020, following the self isolation of Christine Grahame during the COVID-19 pandemic.