John W. Shores worked as an artisan on English railway systems after completing his schooling. In 1874 he married Katherine F.E. Goslett, with whom he had two sons and two daughters. In 1876 he and his family came to Natal, where he took up a position as assistant engineer in the Natal Government Railways, working on the new railway line from Durban to Pietermaritzburg. In May 1882 he was promoted to district engineer in charge of construction and maintenance on the extension of the railway line from Mooi River to Estcourt, Ladysmith and Glencoe (opened in September 1889), with a short branch line from Glencoe to Dundee (opened in March 1890). Meanwhile, during the extension of the line from Glencoe to Newcastle (opened in May 1890), an increased work load led to his appointment in October 1889 to the new post of superintending engineer of construction. From Newcastle the line was extended under his supervision to Charlestown, near the Natal border with the South African Republic (Transvaal), the official opening taking place on 7 April 1891. During this phase of construction the line had to ascend the escarpment at Laing's Nek (or Langnek), where he introduced two reversing stations to make this steep section more easily negotiable. However, soon thereafter the steep section was avoided by the construction of a tunnel (opened in October 1891). He also supervised the construction of the railway line over the Drakensberg from Ladysmith to Van Reenen (completed in August 1891), where reversing stations were again used.
In addition to his responsibilities as superintending engineer of construction Shores was appointed assistant maintenance engineer in June 1892. After Natal achieved responsible government in 1893 an agreement was reached with the government of the South African Republic to extend the railway from the Natal border to Heidelberg. This work was supervised by Shores as resident engineer in charge of construction (appointed in March 1894) and its rapid and successful completion (in October 1895) owes much to his organising ability. He became superintending engineer of railway surveys and construction in June 1896, and in July 1897 succeeded M.W. Carr as engineer-in-chief of the Natal Government Railways, a post he held for 13 years. During the Anglo-Boer War (1899-1902) he reconstructed railway lines in the Transvaal and Natal and cooperated in the transport of British troops. These services were recognised by his appointment as a Commander of the Order of St Michael and St George (CMG) in 1901. During the period 1901 to 1906 he, with others, compiled several survey maps of proposed railway extensions and branch lines. From April 1904 he spent a year on leave in England.
Shores became a member of the (British) Institution of Civil Engineers (MICE) before or in 1896. In 1902 he became a foundation member of the South African Association for the Advancement of Science and served on its council until 1907. When the Union of South Africa was formed in 1910 he retired from the Natal Government Railways and became a consulting engineer to the South African Railways in Natal. He lived in Pietermaritzburg.