John Gordon MacWilliam bodde midlertidig i Sudan og Sør-Rhodesia som ungdom på grunn av farens militære offisertjeneste. Etter å ha gått på barneskolen i Sussex gikk han på militærskoler. Han fikk offisersutdannelse ved Royal Military Academy Sandhurst. Den 20. desember 1968 ble han kommisjonert inn i Queen's Regiment i den britiske hær som sekondløytnant. Han ble forfremmet til løytnant den 20. juni 1970, og til kaptein den 20. desember 1974.