Kim completed a mediocre high school career at Jangchung High School in Seoul, where his main position was an infielder. Kim went undrafted in the 2007 KBO Draft, and enrolled at Chung-Ang University to continue his baseball career.
Kim began his collegiate career as a third baseman in 2007, but the freshman infielder, who had a weak bat but a strong arm, converted from a position player to a pitcher.
Kim had another strong season in 2010, posting a record of 6–0 and an ERA of 1.72 and allowing only one home run in 68 innings pitched. In July 2010, Kim was called up to play for Korea in the Korea-USA Baseball Championship Series. He started in Game 2 of the series and hurled 5.1 innings of two-run ball with 5 strikeouts against Team USA. On September 6, Kim was selected as the only amateur player of the final 24 members for the 2010 Asian Games in Guangzhou, China. Kim tossed 2.1 shutout innings in South Korea's 17-0 win over Pakistan in the group round of the baseball tournament at the Asian Games, allowing only one hit and racking up three strikeouts.