John zaczynał karierę w małym klubie Malta Carib Alcons z Trynidadu. W 1997 roku wyjechał do Stanów Zjednoczonych by grać w niższych ligach w takich zespołach jak: Carolina Dynamo i New Orleans Riverboat Gamblers. W 1998 roku trafił do Major League Soccer do zespołu Columbus Crew. W tym zespole stał się wielką gwiazdą i jednym z najlepszych piłkarzy w historii klubu. Już w pierwszym sezonie John strzelił 26 goli, a z 57 punktami (za gole i asysty) wygrał klasyfikację dla Najlepiej Punktującego w MLS. Trafił także do jedenastki sezonu ligi. W sezonie 1999 strzelił natomiast 19 goli.
Po drugim sezonie w Columbus, John trafił do angielskiego klubu, grającego wówczas w Division One, Nottingham Forest F.C. za sumę 1,5 mln funtów. Jednak klub ten nie zdołał awansować o klasę wyżej, a John został sprzedany za 100 tys. funtów do Birmingham City, grającego w Premiership. Dla Nottingham John w 49 meczach zdobył 18 bramek. W Birmingham John grał mało i miał trudności z przebiciem do pierwszego składu, jednak gdy grał to nie szło mu źle i zdobył kilka ważnych bramek dla zespołu The Blues. We wrześniu 2004 John został sprzedany do Coventry City. W pierwszym sezonie w barwach zespołu z Coventry, John był jednym z najlepszych strzelców zespołu, zdobywając 12 bramek. Jednak przed sezonem 2005/2006 do zespołu trafił James Scowcroft i John nie mógł mieć zagwarantowanego miejsca w pierwszym składzie. Został więc wypożyczony do Derby County, ale po 3 miesiącach wrócił do Coventry. W styczniu 2007 roku trafił do drużyny Sunderland A.F.C., prowadzonej przez Roya Keane’a, a latem tamtego roku stał się piłkarzem Southampton F.C. W 2008 roku został wypożyczony do Bristol City. W 2009 roku podpisał roczny kontrakt z Crystal Palace, dla którego zdobył 2 bramki w 16 meczach. W sezonie 2009/2010 był także na krótki okres wypożyczony do drużyny Ipswich Town. Po odejściu z Palace, John przez sezon występował w ojczyźnie w klubie North East Stars. W 2012 roku podpisał kontrakt z występującym na 6 poziomie rozgrywek angielskich Solihull Moors.