He became a Clerk in the House of Lords in 1964. From 1974 to 1977 he was seconded to the Cabinet Office as Private Secretary to the Leader of the House of Lords and the Government Chief Whip, serving two Leaders, Lord Shepherd (1974-1976) and Lord Peart (from 1976), and one Chief Whip, Baroness Llewelyn-Davies of Hastoe. From 1977 to 1991, in addition to his work in the House of Lords, he served as Secretary of the Association of Lord-Lieutenants, and in 1992 he was created a Lieutenant of the Royal Victorian Order. He was Reading Clerk from 1991 to 1997, and Clerk Assistant from 1997 to 2003.
In July 2003 he was appointed Clerk of the Parliaments. He was appointed a Knight Commander of the Order of the Bath in the Queen's Birthday Honours in June 2007. He retired in November 2007 on reaching the age of 65.
In 1973 he married Deborah Maude, daughter of Angus Maude, and has three children, William, Giles and Arabella.