경북고등학교와 단국대학교를 졸업하고 1998년삼성 라이온즈의 1차 지명을 받아 입단했다. 1998년 데뷔 첫 해에는 단연 돋보이는 신인 중 한 명이었다. 123경기에 출전해 3할 타율, 10홈런, 22도루 등 활약했다. 그러나 LG 트윈스와의 플레이오프 2차전에서 이병규의 타구를 잡다가 펜스에 부딪혀 정강이가 골절됐다. 당시 그는 1998년 방콕 아시안 게임 야구 국가대표팀에 선출됐지만 이 사고로 참가할 수 없게 됐고, 그를 대신해 LG의 외야수 심재학이 참가했다. 정강이 부상을 크게 입은 후 슬럼프에 급격히 빠졌다. 그 해 신인왕 후보에도 올랐지만, 단 5표에 그치며 현대 투수 김수경에게 신인왕을 헌납했다. 1998년 그가 신인으로 데뷔한 타자로 규정 타석을 채워서 3할 타율을 기록한 후 신인 타자 중 규정 타석을 채운 3할 타자가 나오지 않다가[4]2017년에 넥센 히어로즈의 이정후가 19년만에 신인 타자 3할 기록을 세웠다.
부상 후 초기의 페이스를 찾지 못했고, 1999년에는 재활군에 머무르며 경기에 나서지 못했다. 김응용이 감독으로 부임한 후 부활하여, 2002년 한국시리즈 우승 멤버로 활약했을 때 재기상을 수상했다. 2004년 한국시리즈 9차전 당시 마지막 타자로 출전했다.
2008년10월 20일신종길을 상대로 트레이드됐다.[7]2009년 시즌 개막 후 줄곧 선발 중견수 겸 1번 타자로 활약했다.[8]2009년4월 11일롯데전에서 3회말 상대 선발 허준혁을 상대로 역전 홈런을 쳐 냈다.[9]2009년에 데뷔 시절과 맞먹는 맹타를 보이며 완벽하게 부활했고, 팀이 최하위로 추락하는 와중에도 베테랑답게 다이너마이트 타격진을 뒷받침했다. 그 해 3할대 타율, 10홈런을 기록했고, 시즌 후 FA 자격을 얻어 1년 조건으로 재계약했다.[10]2002년에 이어 그 해 일구회의 의지노력상을 수상했다.[11]2010년에는 잠시 주춤했지만 2011년에 개인 최다 홈런을 경신하고 전 경기에 출장했다. 이후 출장 경기 수가 줄어들었고, 당시 감독이었고, 그의 재기를 이끌었던 김응용 아래에서 부활을 노렸지만 시범 경기 때 부상을 당해 26경기 출전에 그친 채 2013년 시즌 후 방출됐다.[12] 이후에도 현역 연장을 희망했지만 결국 다른 팀의 오퍼를 받지 못하고 그 해 12월 23일 은퇴를 선언했다.[13]
야구선수 은퇴 후
은퇴 후 두산 베어스의 부름을 받아 2014년1월 7일에 두산 베어스의 2군 타격코치로 선임됐다.[14] 두산에서는 2군 타격코치를 시작으로 1군 타격코치, 1루 코치 등을 맡았고, 2022 시즌 후 이승엽이 감독으로 선임되면서 두산과 재계약하지 못했다.
두산과 재계약하지 못한 후 2023년에는 최경환의 후임으로 대구방송의 라디오 야구 중계 해설위원으로 활동하다가, 2023 시즌 중 한화 이글스의 잔류군 코치로 영입[15]되어 김용국에게 해설위원 자리를 넘겼다. 그러나 2024 시즌 후 한화 이글스에서 사임했다.[16]