John joined Middlesex County Cricket Club in 1971, making his First-Class debut in 1973 and was awarded his county cap in 1977. He acted as Vice-captain between 1982 and 1992 and played in the most successful period in Middlesex's history, being a member of teams that won 7 championships (1 shared), 2 Gillette Cups, 2 Benson and Hedges Cups, 2 NatWest Trophies, Sunday League and Refuge Cup, making 15 trophies in total. John left Middlesex at the end of 1995 to pursue a career in coaching.
In 1984 he was one of the 5 Wisden Cricketers of the Year, notably for being the first player to take 100 wickets in the previous season.
John became coach of Northamptonshire CCC between 1996-98 and in the same period, he also became assistant coach of England under David Lloyd.
In 1995 he was appointed bowling coach of England A to India and later that year he was appointed coach of England A to Pakistan. In 1999 he was again appointed coach of England A to Zimbabwe and South Africa. On all occasions the team was successful.
In 2001 he became coach of Middlesex CCC, a position held until January 2008. In February 2008 he was appointed coach of the newly formed team Ahmedabad Rockets in the Indian Cricket League.
John made his England debut versus New Zealand at Lord's in 1978, playing in 64 Test Matches and 61 One Day Internationals spanning 17 years. He was appointed Vice Captain of England between 1986 and 1988 and appointed Captain (for 2 Tests) against the West Indies in 1988. He was also captain of the successful England Team in the Sharjah Trophy in 1987, a tournament between Australia, India, Pakistan and England. He toured with England on 9 occasions and played in the 1987 World Cup Final.
John participated in 4 Ashes winning series: 1978/9 (Australia), 1981, 1985 and 1986/7 (Australia) and holds the dubious record of being the highest England run scorer with 1745 runs without scoring a century.
He was also a member of 2 unofficial tours of South Africa in 1982 & 1990. At the end of his career he took 1608 First Class wickets and scored over 12,000 runs.
John is currently President of Middlesex County Cricket Club.