Hayes speelde in de jeugdopleiding van Reading, maar wist niet door te breken in het eerste elftal. Na verhuurperiodes bij Forest Green Rovers en MK Dons, verkaste de vleugelspeler naar Leicester City, waar hij voor twee jaar een contract ondertekende. Verder dan zeven duels voor Leicester kwam Hayes niet en in 2009 tekende hij, na verhuurd te zijn geweest aan Northampton Town en Cheltenham Town bij het Schotse Inverness Caledonian Thistle. Aldaar groeide hij in drie jaar tijd uit tot een vaste waarde en hij verkaste in 2012 naar Aberdeen. Bij Aberdeen speelde hij vijf seizoenen op rij meer dan dertig competitieduels en bijna in elke wedstrijd begon hij als basisspeler.
In de zomer van 2017 verkaste de Ier naar Celtic, waar hij zijn handtekening zette onder een verbintenis voor de duur van drie seizoenen.[1] Hayes keerde het aflopen van dat contract terug naar Aberdeen, waar hij voor twee jaar tekende.[2] In het voorjaar van 2023 werd zijn verbintenis opengebroken en verlengd tot medio 2024.[3] In de zomer van 2024 besloot Hayes op zevenendertigjarige leeftijd een punt te zetten achter zijn actieve loopbaan.[4]