He was educated at schools in Burrelton and Coupar Angus, before becoming an apprentice draughtsman at the Hall and Company shipyard in Aberdeen in 1942, aged 14.
He could not afford the fees to study naval architecture in Newcastle, and worked as a draughtsman for the North-east Scotland Regional Hospital Board.
He was an active member of the Draughtsmen's and Allied Technicians' Association (Data; later successively renamed as AUEW-Tass, MSF, Amicus and Unite).
[1][2] After he failed to be selected for the safe Labour seat of Aberdeen North, losing out to Robert Hughes, he found favour instead in Oldham East, where he was elected in June 1970.
After constituency boundaries were redrawn for the 1983 election, he moved to the new seat of Oldham Central and Royton, selected ahead of Joel Barnett.