전북 부안에서 출생하고 7살이던 1974년 겨울, 서울 봉천동으로 이주, 전라도 출신 서울사람으로 살았다. 중학교 2학년 칼 세이건의 ‘코스모스’를 읽고 천문학자가 되고자 했으나 입시의 문턱에서 엉뚱하게 무역학과에 진학한다. 스무 살이던 87년 6월항쟁을 맞이했고, 그 소용돌이 끝에 야당 후보의 분열로 대선의 패배와 아픔을 보았다.
1990년 5월 10일 민자당 창당 반대 시위를 주도한 혐의로 수배 중 투옥되어 2년 형을 선고받고 만기 출소한다. 1992년 연이은 대선 패배로 재야에서 제도권 정치에 참여를 준비하던 김근태 의원과 운명처럼 같이했다. 1995년 영국에서 돌아온 김대중 대통령이 창당한 새정치국민회의에 청년 발기인으로 참여한다. 98년 김대중 정부의 출범 후 민주당 당직자가 되어 만 19년을 총무국장, 조직국장, 국제국장 등 당직자로 살았다.
2017년 5월 조국 민정수석과 함께 문재인 정부의 일원으로 대통령 비서실에 들어가 민정 선임행정관, 안보실 선임행정관, 시민참여비서관, 민정비서관으로 일했다. 5년 단임 정부의 운명을 잘 알기에 가능한 짧게 근무하고 나가야 한다고 생각했지만 결국 5년을 만근하고 문재인 대통령의 마지막 민정비서관으로 퇴근길을 함께했다. 5년간 검찰, 경찰, 국정원 등 국가의 공권력을 대표하는 기관의 개혁 작업에 참여했고 요동치던 한반도 평화 정착의 길에 함께했다. 윤석열 정부의 출범 후, 청와대에서 함께 일했던 동료들과 「법무법인 율플러스」를 만들어 전임 정부에 대한 공격을 막아보려 분투하고 있다. 24년째 거주 중인 고양시에 시민단체 『일산광장』을 만들어 상임대표로 활동하며 윤석열 정부의 급격한 우경화와 역사 왜곡, 검찰공화국으로 통칭되는 국정운영의 독선, 독주를 막기 위해 뛰고 있다.