W latach 1979-1982 był pracownikiem Stoczni Gdańskiej im. Lenina. Od 1979 roku współpracował z Wolnymi Związkami Zawodowymi Wybrzeża.
14 sierpnia 1980 razem z Bogdanem Borusewiczem, Bogdanem Felskim i Ludwikiem Prądzyńskim rozpoczął strajk w Stoczni Gdańskiej. Od września 1980 roku był członkiem NSZZ "Solidarność".
Między 13 a 16 grudnia 1981 współorganizował strajk w Stoczni Gdańskiej. 20 grudnia 1981 został internowany w Ośrodku Odosobnienia w Iławie. Wyszedł w marcu 1982 roku. W grudniu tego roku zorganizował protest w Stoczni Gdańskiej przeciwko delegalizacji Solidarności. Został zwolniony z pracy.
Powrócił do stoczni w 1989 roku. Do 2001 roku stał na czele Komisji Zakładowej "Solidarność". W latach 1995-1998 członek Komisji Krajowej. W 1993 roku współzakładał Bezpartyjny Blok Wspierania Reform. W latach 2000-2001 był posłem z listy Ruchu Społecznego AWS (na miejsce zmarłej Franciszki Cegielskiej). Od 2002 roku jest dyrektorem Fundacji Centrum Solidarności.
Od 2006 roku w Platformie Obywatelskiej, radny Miasta Gdańsk z listy tej partii. W 2000 roku otrzymał tytuł Honorowego Obywatela Miasta Gdańska. W 2006 roku odznaczony Krzyżem Oficerskim Orderu Odrodzenia Polski.