La carriera professionistica di Giovanni Caprara comincia nel 1998, come secondo allenatore di Marco Bonitta sulla panchina del Bergamo: in questo ruolo resta per due stagioni, vincendo uno scudetto, due Supercoppe italiane e due Coppe dei Campioni.

Nella stagione 2000-01 diventa primo allenatore e viene ingaggiato dalla Virtus Reggio Calabria, vincendo una Supercoppa, una Coppa Italia ed uno scudetto, poi revocato dalla FIPAV a causa del tesseramento irregolare della giocatrice Cristina Pîrv.

Nella stagione 2001-02 siede sulla panchina del Spezzano, in Serie A2: con la squadra emiliana conquista la promozione in Serie A1, restando quindi anche nell’annata successiva. Nella stagione 2003-04 ritorna nuovamente a Bergamo, dove resta per altre due annate vincendo uno scudetto, una Supercoppa italiana, una Champions League ed una Coppa CEV.

Nel 2005 ottiene in primo ingaggio per una squadra nazionale, ossia la Russia, con la quale vince due medaglie di bronzo al campionato europeo 2005 e 2007 ed una medaglia d’oro al campionato mondiale 2006: viene esonerato nel 2008 al termine delle Olimpiadi di Pechino, concluse al quinto posto.

Dopo una apparizione di pochi mesi sulla panchina della Sirio Perugia, nella stagione 2009-10 passa alla neopromossa River di Piacenza; nel 2009 accetta inoltre l’ingaggio da parte della nazionale greca, dove resta fino al 2011, allenando esclusivamente per l’European League 2010.

Nella stagione 2010-11 viene ingaggiato dall’Asystel di Novara, dove resta per due annate: nel maggio 2012, a seguito della fusione del club piemontese nel Villa Cortese, diviene allenatore società cortesina; tuttavia nel febbraio 2013 viene sollevato dal suo incarico e pochi giorni viene nuovamente ingaggiato dalla formazione di Piacenza con cui vince due Coppe Italia, due scudetti ed una Supercoppa italiana.

Nella stagione 2014-15 si trasferisce in Turchia ingaggiato dall’Eczacıbaşı, con cui vince la Champions League e la Coppa del Mondo per club 2015.

Nella stagione 2016-17 viene ingaggiato dal Casalmaggiore, mentre, a metà dell’annata successiva, passa alla guida del San Casciano, dove rimane fino ai primi giorni di febbraio 2020, quando viene esonerato.

Nel 2019 viene nominato selezionatore della nazionale azera e, al termine dei campionati europei, dal novembre dello stesso anno diventa commissario tecnico dei Paesi Bassi; dopo aver mancato la qualificazione alle Olimpiadi di Tokyo, nel marzo 2020 il tecnico e la Federazione pallavolistica dei Paesi Bassi decidono di non prolungare il contratto.