Bocock, who hit just .220 for the Single-A San Jose Giants in 2007, made the Major League roster in 2008 as the team's opening day shortstop because of an injury to Omar Vizquel. In his debut against the Los Angeles Dodgers, Bocock went hitless in one official at bat, walking twice.
For the first three weeks of the season, Bocock played almost every inning at shortstop. However, on April 20, the Giants recalled Emmanuel Burriss, a fellow shortstop. Bocock, whose batting average was consistently well below .200, subsequently received less playing time over the next three weeks.
On May 10, 2008, Bocock was optioned to Triple-A Fresno to make room for the returning Omar Vizquel who had been activated from the disabled list. Despite the demotion, he remained two levels above where he had played the previous year.
Bocock started the 2009 season with the Connecticut Defenders, the Giant's Double-A affiliate. He was later transferred to the Class-A Advanced San Jose Giants. In 122 combined games in the Giants farm system, Bocock hit .230 with 26 doubles, two triples, three home runs, 51 RBIs and eight stolen bases.
On January 5, 2010, Bocock was designated for assignment by the San Francisco Giants to make room on the roster for the re-signing of Juan Uribe.
On January 7, 2010, Bocock was claimed off waivers by the Toronto Blue Jays.
On January 26, 2010 Bocock was claimed off waivers by the Philadelphia Phillies. On June 29, he was recalled from the Triple-A Lehigh Valley IronPigs to take the place of Chase Utley on the Phillies' roster, but was sent back to the minors a few games later. That September he was added to the team's expanded roster, appearing in six games.
He was outrighted to Triple-A on July 1, 2011.
On August 2, 2011, Bocock was purchased by the Pittsburgh Pirates. He was assigned to the Indianapolis Indians of the Triple-A International League.
On December 31, 2011 Bocock was signed by the Jays as a minor league free agent. On August 12, 2012, Bocock was promoted by the Blue Jays from their Double-A affiliate in New Hampshire to the Triple-A Las Vegas 51s. On November 3, he was designated a minor league free agent by Major League Baseball.
On December 13, 2012, Bocock signed a minor league deal with the Washington Nationals. In 22 games with Triple-A Syracuse, Bocock hit .182/.245/.250 with 3XBH and 2RBI.
On July 10, 2013, Bocock was traded to the Pirates as the player to be named later, completing the Brian Jeroloman deal. He reported to Triple-A Indianapolis.
On December 5, 2013 Bocock signed a minor league contract with the Kansas City Royals.