Barrett was undrafted following a college basketball career at Seton Hall University, and he began his professional career by signing prior to the start of the 2004–05 National Basketball Association season as a free agent with the New York Knicks. He played with the Knicks for three weeks before being waived during the pre-season. He then signed with the Houston Rockets, and he later went on to play for the Orlando Magic.
On September 27, 2005, the Milwaukee Bucks signed Barrett to an undisclosed free agent contract. He participated in eight preseason games with the team, however, he was waived prior to the start of the 2005–2006 season on October 27. Starting on March 1, 2006, Barrett signed two consecutive 10-day contracts with the Phoenix Suns, but he was released from his second contract on March 14. The following day, Barrett signed two consecutive 10-day contracts with the Toronto Raptors, with whom he averaged 15.8 minutes per game. On July 13, 2006, he was waived.
In the 2006 NBA D-League Expansion Draft, held on September 25, 2006, the Bakersfield Jam selected the signing rights to Barrett with their first draft pick. The previous season, he represented another team from the league, the Florida Flame.
On October 2, 2006, he was signed by the Chicago Bulls. The following season, on October 22, the Bulls waived Barrett, who then returned to the Jam for the 2007–08 season. On February 25, 2008, he was traded to the D-League club the Austin Toros in exchange for Justin Reed.
On March 1, 2008, he signed a 10-day contract with the NBA's Los Angeles Clippers. When his contract expired, it was not renewed; they signed Smush Parker instead.
On August 14, 2008, Barrett signed a 2-year contract with the Spanish ACB League club FC Barcelona.
On February 5, 2010, Barrett was acquired by the Idaho Stampede of the NBA D-league.
In July 2011 he signed with Chorale Roanne Basket in France.
On January 4, 2013, Barrett joined the Maine Red Claws. On February 25, 2013, he was traded to the Sioux Falls Skyforce.
On October 10, 2013, Barrett signed with the Memphis Grizzlies. However, he was waived on October 26.
On October 31, 2014, Barrett's rights were traded from Sioux Falls to the Westchester Knicks in exchange for a third-round pick and the rights to Brady Morningstar. He officially joined the Knicks on November 3, 2014. On April 3, 2015, he was ruled out for the rest of the season after suffering a thumb injury.
On December 22, 2015, Barrett signed with Toros de Aragua of the Venezuelan League.
On June 27, 2016, Barrett signed in Dominican Republic with the Indios de San Francisco de Macorís of the Liga Nacional de Baloncesto.
On February 18, 2017, Barrett signed in Argentina with Obras Sanitarias of the Liga Nacional de Básquet.