Geer is a 2002 graduate of Forney High School. He was a four-year starter and letterman for the Jackrabbits under coaches Ronnie Ortegon and Sam Gillispie. Geer earned all-District 13-3A honors as a freshman and also helped his team to the district championship and to the state tournament two years in a row. He was also a starter and letterman for the football team. On the academics side he posted a 4.3 grade point average on a 5.0 scale.
Geer was a two-year starting pitcher for Navarro College where he was voted the conference's most valuable player after posting a 1.78 ERA. He helped the Bulldogs to the 2003 conference championship. He also attended Rice University, where he played for the Rice Owls baseball team. He was named Most Outstanding Player of the 2005 Houston College Classic.
He was drafted by the Tampa Bay Devil Rays in the 2003 Major League Baseball Draft, but he did not sign. He was drafted again in the third round in the 2005 Major League Baseball Draft by the Padres. He signed with them, and has played in their farm system since then.
Geer went 4-2 with a 3.96 ERA in 12 games, 11 starts, for Short-Season Eugene Emeralds and the Class-A Fort Wayne TinCaps in 2005. He won three straight games with the Emeralds from July 24 to August 4, allowing six runs over 19 1⁄3 innings. He was promoted to Fort Wayne on August 8 and allowed three runs, two earned, over six innings to win his Wizards' debut the next night.
In 2006 Geer posted a 13-6 record and a 4.12 ERA in 27 games, 26 starts, between Class-A Fort Wayne and the Class-A Advanced Lake Elsinore Storm. He led the organization in wins. Geer tossed 22 scoreless innings in his last three starts with the Wizards before being promoted to Lake Elsinore on June 17. After losing his first three starts with the Storm, went 7-1 in 12 starts from July 8 to September 4.
In 2007, Geer was named the Texas League Pitcher of the Year while pitching for the San Antonio Missions
Geer held left-handed batters to a .146 mark. He tossed at least 5 innings and yielded two runs or less in each of his Big League outings. His contract purchased from the Triple-A Portland Beavers on August 29. Geer made his major league debut for the Padres on August 30, 2008 with a win over the Colorado Rockies. He suffered ﬁrst Big League loss on September 17 against Colorado despite throwing five innings of one-run ball with ﬁve strikeouts, as San Diego fell 1-0. With Portland he went 8-9 with a 4.54 ERA, 107 strikeouts and 45 walks in 28 appearances, 27 starts. He led the Pacific Coast League in innings pitched while tied for third in starts. His starts also tied for the team lead behind Cesar Ramos. Geer tied for the most starts in one season by a Portland pitcher since the team returned to the PCL in 2001 sharing the record with Junior Herndon in '01 and Dennis Tankersley in 2003.
In 2009 Geer split the season between Portland and San Diego. With Portland he went 2-5 with a 4.44 ERA in 52 2⁄3 innings pitched in nine games, all starts, including one complete game. With the Padres he went 1-7 with a 5.96 ERA in 19 games, 17 for starts. On October 13 Geer was outrighted to the minors, taking him off the 40-man roster.
Geer spent the entire 2010 season with Portland, where he went 11-11 with an ERA of 5.41. He missed most of the 2011 season while recovering from stage III melanoma, appearing in just two games for the Triple-A Tucson Padres before undergoing surgery to remove lymph nodes from his neck. He then went on to pitch in the Arizona Fall League.
He returned in 2012, pitching in 28 games between Double-A and AAA, going 7-10 with a 5.29 ERA. In 2013, he pitched in 35 games, 12 of them starts. He finished 8-6 and a 3.54 ERA, his lowest since 2007.
He became a free agent after the 2015 season.