Barnes played high school soccer at Southeast Raleigh High School, in Raleigh, North Carolina. He started for Varsity all four years. His senior year he helped his team to reach the conference finals and defeat a tough Broughton High School team to claim the school's first ever conference championship. His merits include TAAC All-Conference 2005.[1]
Barnes was drafted in the third round (40th overall) of the 2009 MLS SuperDraft by New England Revolution on 15 January 2009, officially signing for the club on 17 March 2009.[3] He made his professional debut on 21 March 2009, in New England's first game of the 2009 MLS season against the San Jose Earthquakes.[4][5] He became the second rookie in the history of MLS to play every minute of every game, following in the footsteps of former Revs center back Michael Parkhurst, who was the first to accomplish the feat in 2005.[6] He was also the only outfield player to play every minute of every game in the 2009 season,[7] and helped the Revolution establish a club-record 386-minute shutout streak.[6]
In 2011, Barnes was a finalist for the MLS Fair Play Award.[5]
On 22 September 2012 against the New York Red Bulls, Barnes scored his first-ever (and only) professional goal, finding the net in the 95th minute of the match to help the Revolution salvage a 1-1 draw.[8] He made his 100th MLS appearance on 15 March 2014,[6] and recorded his 100th MLS start on 7 September 2014 against the Chicago Fire.[6]