James Shepherd se formó en la marina mercante británica, incorporándose luego a la escuadra que al mando del almirante Thomas Alexander Cochrane apoyó la Expedición Libertadora del Perú al mando del general José de San Martín.
Asegurada la independencia brasilera viajó en 1825 como oficial de la fragata Piranga (capitán Crosbie) a Portsmouth conduciendo al almirante Cochrane, que se retiraba del servicio.
En ese puerto, Crosbie resolvió también retirarse del servicio por lo que Shepherd fue nombrado capitán del buque, con el que regresó a Río de Janeiro, donde reclutó británicos al servicio de la marina del imperio.
Iniciada ya la guerra del Brasil con la República Argentina, Sheperd fue destinado a las fuerzas navales del Imperio que operaban en el Río de la Plata como comandante de banderas del almirante Rodrigo Pinto Guedes.
Para esa campaña fue transferido a la corbeta Duqueza de Goyas.