He was born in Dunblane in 1849, the son of William Roberts (1821–1896) for some time station master at Elgin, and for many years Superintendent of the line of the Highland Railway, and Margaret McGregor (1821–1877).
He married Madeline (c. 1854 – 19 May 1947) daughter of Donald Fraser on 30 April 1879 in Broomhall, Strathspey.
He worked as a pupil and later assistant to Peter MacBey, Civil Engineer and Surveyor in Elgin from 1863 to 1871.
He was appointed assistant to Murdoch Paterson in 1891[3] and succeeded him as engineer-in-chief to the Highland Railway in 1898 and designed several stations and other structures.
He retired from the Highland Railway in 1913 and during the First World War he was Food Commissioner for the North of Scotland Division.