In 2007, Ahmad Hafiz trained with the under-21 squad of DPMM FC who were a member of the Malaysia Super League at the time.[4] The previous season, his brother Shahrazen became joint top-scorer in the league.[5] Although the league rules at the time dictate that an under-21 player has to start a league match,[6] head coach Yordan Stoykov preferred to utilise breakout star Azwan Saleh in advanced roles due to form and injuries.[7] Ahmad Hafiz was released after DPMM left the Malaysian leagues for the S.League in 2009.
Ahmad Hafiz moved to Majra FC of the Brunei Premier League, where a few of his other brothers were playing.[8] He spent five years at the club,[9][10][11] winning the League Cup in 2011,[12] right until the club withdrew from the league in the middle of the 2014 season.[13]
Ahmad Hafiz transferred to Rimba Star FC along with two of his brothers in 2015.[14] He served as the captain of the team until 2016.[15]
Ahmad Hafiz was called up by Kwon Oh-son for the 2008 AFC Challenge Cup qualification matches held in the Philippines in May 2008.[17] At 19 years old, he made his international debut as a starter against Bhutan on 15 May in a 1–1 draw.[2] He dropped to the bench in the next game against Tajikistan two days later, but came on in the 74th minute to replace Abu Bakar Mahari.[18] The score was already 3–0 against the Wasps by then.
In November 2011, Ahmad Hafiz was selected to compete at the 2011 Southeast Asian Games held in Indonesia, along with the Under-23s.[19] He appeared in four games out of five, Brunei finishing the group with a win, a draw and three losses.[1]
Ahmad Hafiz has eight brothers who are all footballers of which five are still actively playing, namely Shah Razen, Amalul, Adi, Abdul Azim and Hakeme.[3][20][21]