Norwich City Hayes started his footballing career as a schoolboy with
Norwich City, whom he joined as a 13-year-old. He was an unused substitute during the final two matches of the regular season. Hayes failed to feature at all during the early months of the
2002–03 season and became frustrated at his lack of first team opportunities, Hayes became a regular starter the
following season, Hayes scored 19 goals during the
2004–05 season to help Scunthorpe gain automatic promotion to
League One. Hayes departed
Glanford Park on 2 June 2005, having scored 34 goals in 116 appearances for the club. Hayes made 33 appearances for Barnsley during the
2006–07 season and scored five goals, which included a spell of four goals in six games early in the season. Hayes joined League One club
Huddersfield Town on a one-month
loan on 23 February 2007.
Return to Scunthorpe United Hayes returned to Scunthorpe United (now playing in the
Championship) on a three-year contract on 13 June 2007, He made 42 appearances during the
2007–08 season, Hayes had a solid
2009–10 season in the Championship, making 51 appearances and scoring 13 goals, which included a goal against
Manchester City in a 4–2 FA Cup fourth round defeat on 24 January 2010. but he left Glanford Park on 10 May 2010.
Preston North End On 10 May 2010, Hayes signed a three-year contract at Championship club
Preston North End on a
free transfer. He made 26 appearances and scored four goals for the financially-stricken club during the
2010–11 season. On 28 October 2010, Hayes returned to Barnsley on emergency loan until 1 January 2011, as a makeweight in the deal to extend
Iain Hume's loan at Preston North End. He made seven appearances without scoring and returned to
Deepdale when his loan expired.
Charlton Athletic On 21 June 2011, it was announced that Hayes was a third of a triple signing completed by League One club
Charlton Athletic. He scored his first goal for Charlton in a 2–1 away win over
Notts County on 13 August 2011. On 24 February 2012, Hayes and Charlton Athletic teammate
Gary Doherty joined League One club
Wycombe Wanderers on loan until the end of the
2011–12 season. He scored six goals in six appearances and was recalled by Charlton Athletic on 23 March. He made 22 appearances and scored three goals during the
2011–12 season as Charlton won the League One title and secured promotion to the Championship. Hayes was made available for transfer by manager
Chris Powell prior to the beginning of the
2012–13 season and departed the club on 20 August 2012.
Brentford On 20 August 2012, Hayes signed a three-year contract with League One club
Brentford on a free transfer. He finally scored his first goals for the club with a brace in a 2–2 draw with
Hartlepool United on 27 October, but after scoring just four further goals over the following five months, which was later extended until the end of the season. He scored two goals in 11 appearances and returned to Brentford on 30 April. Hayes played a part in each of the Bees' three League One
play-off matches, Despite scoring three goals during the
2013–14 pre-season, Hayes was frozen out once the regular season started and was made available for loan by manager
Uwe Rösler. He made his only appearance of the season in a 3–2 League Cup first round victory over hometown club
Dagenham & Redbridge on 6 August. He failed to score in six appearances for the Pilgrims and returned to Brentford when his loan expired. Hayes had his contract terminated on 3 December 2013 and made 33 appearances and scored six goals during 15 months at Griffin Park.
Scunthorpe United (third spell) Hayes signed for Scunthorpe (now in League Two) for a third time in his career on 17 December 2013, on a contract running until the end of the
2013–14 season. He scored four goals in 16 appearances and helped the Iron to promotion to League One with a second-place finish. Across his three spells with Scunthorpe United, Hayes made 282 appearances and scored 78 goals. In just over three seasons with the Chairboys, he scored 27 goals in 120 appearances and helped the club to the
2015 League Two play-off final, Hayes left Wycombe by mutual consent on 29 August 2017 and across his two spells with the club, he made 126 appearances and scored 33 goals.
Hemel Hempstead Town On 22 September 2017, Hayes dropped out of the
EFL for the first team in his career to join
National League South club
Hemel Hempstead Town. Despite joining the club in a bid to regain his fitness, he failed to win a call into a squad before departing three weeks later.
Newport County On 17 October 2017, Hayes returned to the Football League to join League Two club
Newport County on a contract running until the end of the
2017–18 season. Due to registration regulations, Hayes was not able to make his Exiles debut until after 3 January 2018. Hayes finished the season with 14 appearances, three goals and was released when his contract expired.
Return to non-League football On 9 August 2018, Hayes dropped back into
non-League football to join
Isthmian League North Division club
AFC Sudbury on a two-year contract. He scored 12 goals in 34 appearances during the
2018–19 season and retired in June 2019. In mid-November 2019, Hayes returned to football as a player with Isthmian League North Division club
Romford. After one appearance, he transferred to
Southern Counties East League First Division club
Meridian VP, with whom he remained until 7 January 2020, when he transferred to Isthmian League South East Division club
Faversham Town. Hayes made 10 appearances before joining Southern Counties East League Premier Division club
Chatham Town in a player-
sporting director capacity March 2020. He made four appearances and scored one goal across the 2019–20 and
2020–21 seasons. Concurrent with his director of football role at Isthmian League Premier Division club
Bowers & Pitsea, On 6 January 2023, he joined
Eastern Counties League Premier Division club
Haverhill Rovers and made seven appearances before departing the club in mid-February 2023. == Managerial career and backroom roles ==