Sheehan joined Leicester City in July 2003 after being spotted by a scout whilst playing for Belvedere. He became a regular in both the Academy under 19s and the reserves, playing at left-back. He also spent two months on loan at Mansfield Town in 2006–07 to gain regular first-team experience. A free-kick specialist, Sheehan made his breakthrough into the first team when Craig Levein named him in the starting lineup for City's final match of 2004–05 against Plymouth Argyle. The 18-year-old picked up the Academy Player of the Season at the club's 2005 awards ceremony.
Sheehan signed a new two-year contract with the club that would keep him at the Walkers Stadium until the end of 2007–08. He scored his first ever competitive goal for Leicester in a 4–1 win over Watford with a deflected 25-yard shot on 25 August 2007, and his second in a 3–2 win over Nottingham Forest with a classy free-kick on 18 September. Following Leicester's 2–0 victory over Bristol City on 24 November, Sheehan was named in the Championship Team of the Week two days later, together with teammates Stephen Clemence and Richard Stearman.
On 31 January 2008, Sheehan joined Leeds United on loan for the rest of the season, making his debut in a 2–0 defeat to Tranmere Rovers on 2 February 2008 replacing Ben Parker at left back. However, after just four matches in the role, Leeds boss Gary McAllister saw the need to provide extra competition in the position by signing Aston Villa's Stephen O'Halloran, also on loan. Despite O'Halloran suffering a serious injury in the warm up for his debut at Swindon Town, Sheehan still lost his Leeds place, this time to Frazer Richardson.
Sheehan revealed that he had rejected a new contract offer from Leicester prior to signing for Leeds. He scored his first goal for the Yorkshire club in their 1–0 win over Doncaster Rovers on 1 April 2008, a trademark free-kick from 25 yards out. Sheehan was sent off in Leeds' 1–0 win over Yeovil Town for a two-footed tackle on Zoltán Stieber, however Leeds still confirmed their play-off spot in that match. The straight red card meant he was suspended for the play-off semi-final matches against Carlisle United and also the final against Doncaster Rovers.
After Leeds failed to earn promotion, Sheehan made his move to Leeds permanent on 1 July 2008, after his contract with Leicester expired. He signed a three-year contract with the club to provide competition for first-choice left-back Ben Parker.
Sheehan endured a tough early 2008–09 season. After scoring a long range goal against Crewe Alexandra in a 5–2 win, Sheehan was sent off for another two footed tackle in a match against Swindon Town. This cost him his place in the team due to suspension and was replaced by Aidan White. Another setback was to come after Sheehan was injured and forced to sit out for a long period of matches. During this run in, his injury was aggravated in an attempted come back against Rotherham United. After returning from injury, Sheehan wasn't involved in new manager Simon Grayson's plans.
On 23 March 2009, Sheehan joined Crewe Alexandra on loan for the rest of the 2008–09 season. He made his debut a day later in the 2–2 draw with Milton Keynes Dons. Sheehan returned to Leeds for the upcoming 2009–10 season. He made two high-profile errors in the pre-season match against Blackburn Rovers when he gave away a penalty and was very lucky not to give away a second penalty. His poor performance did little to help him in his quest to be restored to the first team, with right footed central midfielder Andy Hughes being preferred at left back during Ben Parker's spell out with a hamstring injury.
On 1 September 2009, Sheehan joined League One club Oldham Athletic on a one-month loan. Sheehan made his league debut for Oldham on 4 September in the 3–0 home defeat to Hartlepool United. Sheehan also played in the following 1–0 away defeat to Bristol Rovers, thus losing both of his first two appearances for Oldham.
Sheehan gained two assists in a 2–0 win over Carlisle United. Carlisle's manager Greg Abbott proclaimed after the match that Sheehan was 'Premiership Class'. He scored his first Oldham goal in a 2–1 win over Milton Keynes Dons on 29 September 2009. Sheehan's impressive performances for Oldham led to discussions with Leeds about the possibility of extending his loan for a second month. On 2 October 2009, his loan was subsequently extended until 1 November. His form for Oldham alerted scouts at other clubs with Nottingham Forest reportedly interested in signing Sheehan. On 1 November, Sheehan returned to Leeds United, with Oldham playing Leeds twice during the month of November. On 5 November, Oldham decided to sign Lee Hills on a one-month loan from Crystal Palace as opposed to extending Sheehan's loan spell once more.
On 26 November 2009, Sheehan joined League One club Swindon Town on loan until 4 January 2010. He was given permission by Leeds to play in the FA Cup for Swindon. Sheehan made his debut for Swindon in the FA Cup match against Wrexham and he was substituted after 62 minutes. In the next match, Sheehan won a penalty for Swindon against Leyton Orient.
On 5 January 2010, Sheehan's loan was extended at Swindon for the rest of the season including the play-offs if Swindon reached them. Danny Wilson commented on the loan extension by praising Sheehan's most recent performance against Fulham and said he seems to play better against the bigger teams. Sheehan, under the terms of the loan, would not be available to play for Swindon in their matches against his parent club Leeds. Sheehan and Swindon went into the final match of the season against Millwall knowing that should Leeds slip up that Swindon could grab an automatic promotion spot. However, Leeds ensured they earned the second automatic promotion spot with a 2–1 win over Bristol Rovers, thus finishing in second place. This meant Swindon were forced to settle for the play-offs regardless of their own result. They ended up losing 3–2 to Millwall. Swindon faced Charlton Athletic in the play-offs. Sheehan played in the play-off first leg which Swindon won 2–1. However, he missed the second leg at The Valley through injury which saw his Swindon teammates eliminate Charlton after a penalty shootout. Sheehan returned to play in the League One play-off final defeat to Millwall. He had to be substituted after 67 minutes due to aggravating his injury.
On 14 May 2010, Sheehan was placed on the transfer list at Leeds United and told to find a new club following the end of his loan spell at Swindon. He was demoted from squad number 11 to squad number 34 and didn't play a single match for Leeds' first team during the 2010–11 pre-season friendlies.
On 31 August 2010, Sheehan returned to Swindon on a one-year contract for what was believed to be a free transfer and was given the number 21 shirt. He was expected to face competition for the left back spot from Michael Rose who was signed from Stockport County earlier in the summer.
On 3 June 2011, Sheehan signed for League One club Notts County on a two-year contract. He impressed with his attacking role from left-back, and his set pieces – particularly free-kicks. Sheehan had a brief spell under Notts' manager Martin Allen at Leicester City. On 2 July 2013, Sheehan signed a two-year contract extension. Sheehan was made club captain during the 2013–14 campaign; his performances also hadn't gone unnoticed, Sheehan was awarded the player of the year towards the end of season.
On 19 June 2014, Sheehan signed for League One club Bradford City on a free transfer. Sheehan scored a penalty on his league debut, a 3–2 home win over Coventry City.
On 26 March 2015, Sheehan moved on loan to League One club Peterborough United until the end of 2014–15.
After making two league appearances for Bradford at the beginning of 2015–16, Sheehan returned to Notts County on a three-month loan before briefly returning to Bradford City in January 2016.
On 22 January 2016, Sheehan signed for League Two club Luton Town on loan until the end of 2015–16. He scored a volley, his only goal for the club in a 1–1 draw with Yeovil Town on 2 February 2016. Sheehan played in every match, making 20 league appearances for the club during his loan spell.
On 25 May 2016, Sheehan signed a permanent two-year contract with Luton, effective from 1 July 2016.
Sheehan has made many appearances for his country at under 19 level and was also called up by the Football Association of Ireland to attend a training camp before making his international debut for the under 21s against Israel U21 in June 2005.As of match played 23 September 2017