Melbourne Heart Good was born in
Melbourne,
Victoria and attended
Wesley College. While growing up, Good met
Jackson Irvine when "they were both ten and lived two minutes from each other and grew up together". They would also "ran cross countries together, played for Knox City (in Melbourne) as juniors". In 2008, he was offered a two-year scholarship at the
Australian Institute of Sport which he commenced in
Canberra in 2009. In February 2011 Good signed a multi-year senior contract with
A-League club
Melbourne Heart after impressing as a short-term injury replacement. His first league appearance for Melbourne Heart was in round 1 of the
2011–12 A-League season against
Newcastle Jets.
Newcastle United In July 2012, Good, having been granted a work permit, joined English
Premier League club
Newcastle United on a six-year deal for a reported transfer fee of $600,000 AUD. Good was named on the substitute bench for the first time for the senior side in the defeat away to
Manchester City in March 2013. He made his debut for Newcastle in their 2–0
League Cup win over
Morecambe on 28 August 2013.
Bradford City loan In November 2012, after several appearances for Newcastle's reserves, Good signed on loan for
Bradford City. He made his senior debut in English football for
The Bantams in a 1–1 draw against
Brentford in the second round of the FA Cup. He was not registered by the 12pm deadline on the day of the game, causing Bradford City to initially be removed from the FA Cup. This was however reduced to a £1,000 fine on appeal. In February 2013, Good appeared for Bradford in the
2013 Football League Cup Final at
Wembley as half-time substitute, won 5–0 by
Premier League opponents
Swansea City.
Dundee United loan On 31 January 2014, Good signed for
Scottish Premiership club
Dundee United on loan until the end of the
2013–14 season.
Return to Newcastle Following his return from injury, Good next appeared for Newcastle's first team when he started on 28 January 2017 in a 3–0
FA Cup defeat against
Oxford United. He was released at the end of the 2017–18 season.
Melbourne City Good completed a return to Australia on 18 September 2018 by rejoining
Melbourne City; who were previously known as Melbourne Heart. He signed contract extensions on 8 July 2019 (two years), and on 11 January 2021(three years). On 29 June 2021, he was named Melbourne City's Player of the Year, after helping the team win the
A-League. He was a crucial member of Melbourne City's third-straight A-League title. Good played his final match for Melbourne City in a
Melbourne Derby elimination final against
Melbourne Victory. Good was sent off in the 118th minute of the match for a second bookable offence after bringing down a goalbound
Nishan Velupillay, as Melbourne City lost 3–2 on penalties after the match ended 1–1 in regulation time. ==International career==