Był nauczycielem w V LO, a następnie w Zespole Szkół Ogólnokształcących w Gdańsku. W latach 1980-81 należał do Niezależnego Zrzeszenia Studentów. W latach 80. działał w podziemnej "S". W latach 1993-98 był przewodniczącym Zarządu Regionu Gdańskiego NSZZ "S", a do 1997 r. pełnił funkcję wiceprzewodniczącego Komisji Krajowej NSZZ "S". Współtworzył Akcję Wyborczą Solidarność (był we władzach krajowych od początku jej istnienia). Od 1997 r. jest członkiem RS AWS, a od 1999 r. przewodniczącym Rady Politycznej Akcji. Obecnie jest również członkiem Zarządu Regionu Gdańskiego NSZZ "Solidarność". W 1997 2001 r. - poseł, członek Klubu Akcji Wyborczej Solidarność.