He played for the Minnesota Twins organization from 1996 to 2005. He played in the Atlanta Braves organization, for the Triple-A Richmond Braves in 2006, but struggled and only batted .242 with six home runs. Ryan played better for the Pittsburgh Pirates‘s Triple-A affiliate, the Indianapolis Indians, in 2007, with a .259 average and 16 home runs. Ryan’s spring training of 2007 was great, with the Pirates organization, batting .396 with an on-base percentage of .418 and a slugging percentage of .547. Ryan scored 17 runs with 9 RBI on 21 hits. Ryan signed with the Somerset Patriots of the Atlantic League on March 24, 2008. The Florida Marlins purchased his contract on July 23, 2008, after batting .282 with 15 home runs and being elected to the Atlantic League All-star game.
On September 14, 2003, Ryan was involved with a bizarre outfield play during a game against the Cleveland Indians, where Jhonny Peralta hit a fly ball to Ryan in right-center field. Ryan shaded his eyes before lowering his glove, and was hit in the side of the face by the pop-fly. The out was saved, however, because outfielder Dustan Mohr caught the ball on the rebound. He left the game with a welt above his left eye.
Ryan signed a minor league contract with the Los Angeles Angels of Anaheim on February 4, 2010. The contract included an invitation to spring training. He was called up from the minors on May 7, 2010.
In November 2011, he signed a minor league contract with the Pittsburgh Pirates to be a player/coach. In January 2013, he was named the manager for the 2013 West Virginia Power. In January 2015, Ryan was named as the manager for the Pirates’ High-A affiliate the Bradenton Marauders. In December 2016, Ryan was named as the manager for the Pirates’ AA affiliate the Altoona Curve.