Barker did not play a senior game for Fitzroy in 1993 and missed most of the season due to back and hamstring injuries. Barker's first senior game in the AFL was in round 2 of the 1994 season against Essendon at Princes Park. Barker played 47 games and kicked 12 goals at Fitzroy over his 3 seasons at the club. During the 1994 AFL season Barker's talent was noticed and as a result he picked up an AFL Rising Star award nomination. When Fitzroy merged with the Brisbane Bears at the end of 1996, and Brisbane changed their name to become Brisbane Lions. Barker was just one of seven Fitzroy players to join the newly formed team.
Brisbane
In Barker's only year at the Brisbane Lions, the 1997 season, he managed just 8 games and only 1 goal. At the end of the season Barker and teammate Nathan Chapman were traded to Hawthorn in exchange for Brad Scott.
Hawthorn
After two seasons at Hawthorn Barker's AFL career looked over, but in round 3 of the 2000 AFL season, John Barker made his mark as an AFL footballer. Barker kicked 4 goals and took some clean one-grab marks to help the hawks come from behind to beat the Brisbane Lions in a thriler. Barker's time at Hawthorn saw him become the key option up forward during the 2000, '01 and '02 seasons. John Barker may best be remembered for his remarkable two goals during the 2001 semi final against Port Adelaide. One from Football Parks "dead pocket" which put the hawks within four points. Then the next with only two minutes remaining, the goal which will long live in the minds of Hawks fans for years to come. Barker was a key part of the Hawks' 2001 season which saw them make their way to a preliminary final. Barker won the club's goal kicking award in 2001 with 47 goals and was equal 3rd in the Best and Fairest. From mid-2002 Barker suffered numerous injuries and struggled to get back to top form. From this point he played most of his football recovering from injuries and proving his fitness with the Box Hill Hawks in an attempt to play at senior level again. 2006 would be John Barkers final year as an AFL footballer and he could just manage 7 games due to on-going shoulder and hamstring injuries. In the week leading up to round 20 of the '06 season Barker announced his retirement, saying his body could no longer stand up to AFL football. In the lead up to the final game of the season several Hawthorn players offered to give up their spot in the side to see that Barker could play a farewell game. Barker kicked 1 goal in the 61 point win against Geelong.
AFL coaching career
After Barker announced his retirement, Hawthorn coach Alastair Clarkson said the club was keen to retain Barker for 2007, possibly in a coaching role. Just weeks later Barker was appointed as the forward line coach for the St Kilda Football Club under a two-year deal. St. Kilda coach Ross Lyon and Barker had played together at Fitzroy and Lyon believed Barker had a lot to offer as a coach. After two years at St. Kilda, Barker was offered a coaching role at Hawthorn and jumped at the chance to return to club he called home for nine years as a player. Barker was the forward line coach for 2009 and 2010. Barker has been an assistant coach at Carlton since the 2011 season. On 26 May 2015, following the mid-season sacking of Mick Malthouse as head coach of Carlton, Barker was appointed interim senior coach until the end of the season. He coached the club to three wins from the final fourteen matches, and was one of the front-runners for the senior coaching role before it eventually went to Brendon Bolton. Barker remains at the club today as their stoppages coach.