Morgan was born in Aberfeldy and was educated at Breadalbane Academy and the University of Glasgow, graduating in 1968 with a MA Honours degree in mathematics and political economy.
He was employed from 1974 to 1980 as a Software Programmer at Shell, then as a Systems Analyst with General Electric from 1980 to 1984.