McMahon was born and raised in Brisbane and took his first steps in senior rugby with GPS in the Queensland Premier Rugby competition. He played in the side which was runner-up in the 2013 competition and featured alongside future Rebels team-mates Colby Faingaa and Bryce Hegarty.[1] McMahon's displays saw him named as a member of the Melbourne Rebels extended playing squad for the 2014 Super Rugby season.[3] He was surprisingly named in the number 6 jersey for the Rebels season opener against the Cheetahs at AAMI Park on 28 February 2014. McMahon played the whole 80 minutes in a 35–14 victory for the home side.[4][5]
On 16 April 2014, the Melbourne Rebels announced that McMahon signed a new two-year deal, running until the end of 2016.[6] McMahon is also an avid golfer and a 5 handicap.
On 22 October 2014, McMahon was named in the Australian national team for the Wallabies 2014 End-of-year test, under the new coach of Michael Cheika. He made his first appearance against the Barbarians on 1 November, but it was a week later he made his test debut against Wales at the Millennium Stadium, starting in the #6 Jersey.
He was a member of the 2015 World Cup Squad. He started at no.7 in the pool matches against Uruguay and Wales, scoring 2 tries against Uruguay in a comprehensive victory.[13]