Barnes played as a quarterback at University of California, where he started a couple of games as a freshman and emerged as a budding star through his college career. Barnes played for Steve Mariucci at Cal, where he threw 420 passes during the 1996 season, and learned Mariucci's version of the West Coast offense. Barnes gained the reputation as a QB who spread the ball out to all his receivers, and threw very well on the run. He set a Pac-10 record for touchdowns in 1996, and had a 31-8 touchdown to interception ratio. Barnes finished the year as a second-team All-American selection behind Jake Plummer.
Barnes, a graduate and football standout at University of California, was drafted in the 4th round (110th overall) of the 1997 NFL Draft by the Kansas City Chiefs. He participated in 7 NFL seasons for seven different teams. Though he never threw a pass in the NFL, Barnes played very well in his five seasons playing outside the NFL, throwing 30 touchdown passes in his two seasons with the Frankfurt Galaxy.
After four seasons out of the league, he signed with the Cleveland Browns on February 10, 2003. He was released on June 6. His football career ended when the Winnipeg Blue Bombers of the CFL released him on December 9, 2003, at his request and subsequent retirement from the game.