Barnes was born in Cincinnati, Ohio. After playing college baseball at his hometown University of Cincinnati, Barnes was selected by the Reds in the 16th round of the 1978 Major League Baseball draft. Barnes worked his way through the minors, earning promotion to the Reds in 1983 after hitting.337 for the Reds' Indianapolisfarm club. Although Barnes continued to have great success at the Triple-A level for many years, he was unable to find a home in the majors. Between 1984 and 1990, he played in just 60 big-league games, including four for the 1987 National League champion St. Louis Cardinals. In four of those years, he hit.300 or better in the minors. Barnes finally achieved stable big-league status at the age of 34, when most players have long retired. After hammering International League pitching at a.330 clip through the first two months of the 1991 season, Barnes was called up by the Tigers. A capable fielder at several positions and a good contact hitter, he turned out to be a good fit for the Tigers, which had defensive problems and a lineup that struck outa lot. Barnes spent most of the next three seasons with the Tigers. Detroit fans appreciated his blue-collar work ethic; he was sometimes called "Crash Davis" after the fictional character in the film Bull Durham, who had spent most of his career in the minor leagues. During all or part of nine seasons in the majors, Barnes played in 353 games with 614 at-bats, 95 runs, 159 hits, 30 doubles, four triples, 14 home runs, 83 RBIs, 20 stolen bases, 41 walks,.259 batting average,.306 on-base percentage,.389 slugging percentage, 239 total bases, eight sacrifice hits, eight sacrifice flies, and three intentional walks. In the minor leagues, Barnes batted.296 for his career and had 1,773 career hits. At the time, he ranked as one of the all-time leading hitters in the minor leagues. He retired as a player following the 1994 season, and was active in the game as a minor-league coach and manager. Barnes' post-playing jobs have included a stint as manager of the Southwest Michigan Devil Rays of the Midwest League in 2006, two coaching stints in the Midwest League, coaching in the Southern League in 2003–04, in the International League, and managing the Lakeland Tigers in 2000. From 2007 to present, Barnes served as the Tampa Bay Rays minor-league outfield and base-running coordinator.