Barber made his major league debut on August 12, 1995 with the Cardinals at age 22, making him the youngest player on the team. On that day, Barber pitched four innings, giving up three earned runs. He had a record of 2–1 and 5.22 earned run average. The following year, he pitched in only 3 innings, with an ERA of 15.00. Following the 1996 season, Barber found himself unhappy with the Cardinals, and on December 21, 1996, he was granted free agency. Two weeks later, he was signed by the Kansas City Royals. Barber missed the entire 1997 season in the minors. In 1998, Barber reemerged, pitching in 42 innings. His ERA was, however, 6.00. He also recorded a record of 2–4. The following year, Barber pitched in only 18.2 innings, with an ERA of 9.64, and a record of 1–3. On October 4, 1999, Barber was granted free agency again. About two months later, he was picked up by the Cleveland Indians. However, Barber would not pitch in an Indians uniform, as he retired.
At the time of his retirement Barber had a 5–8 record, a 6.77 ERA, 45 walks, and 59 strikeouts. Barber was 1 for 8 hitting, with a lifetime batting average of .125. His lifetime fielding percentage was 1.000.