He was drafted in 2006 in the 3rd round by the Red Sox. His first professional season was split between the Lowell Spinners and Greenville Drive. In 2007, Bates began the year with the Lancaster JetHawks before being promoted to the Portland Sea Dogs. He played with Sea Dogs until June 2009, when he was promoted to AAA Pawtucket.
In May 2009, he was the Eastern League Player of the Month while playing with the Sea Dogs.