1964년 경상북도 안동군 예안면 도촌에서 태어났다. 초등학교를 졸업하고 성남시 상대원동 공장에서 소년공으로 일했다. 공장에 다니며 검정고시로 중고등학교 과정을 마치고 중앙대학교 법대에 들어갔다. 사법고시에 합격한 뒤 성남으로 돌아가 인권변호사로 일하며 시민운동을 했다.
2006년 열린우리당에 입당하면서 본격적으로 정치 생활을 시작했다. 성남시장과 경기도지사를 거쳐 제20대 대선에서 더불어민주당 후보로 출마해 치열하게 선거에 임했지만 아쉽게 고배를 마셨다. 2022년 당대표로 선출되어 당원의 뜻이 일상적으로 반영되는 정당을 만들기 위해 힘썼다.
예상치 못한 피습으로 목숨을 잃을 뻔했으나 기적의 확률로 살아났다. 당대표로 일하는 동안 검찰독재 윤석열 정권과 싸우며 국민들과 함께 12·3 내란을 이겨냈다. “정치는 정치인이 하는 것 같아도 결국 국민이 하는 것입니다.” 이 말을 가슴에 새기며 산다.