W 1968 wstąpił do Polskiej Zjednoczonej Partii Robotniczej w Gdańsku. Pomiędzy 1979 a 1990 był wiceprzewodniczącym i przewodniczącym Rady Centralnego Związku Spółdzielni Budownictwa Mieszkaniowego. W latach 1984–1990 radny Miejskiej Rady Narodowej w Gdańsku dwóch kadencji. Od 23 listopada 1989 do 10 lipca 1990 sprawował funkcję prezydenta miasta. Podczas jego kadencji doszło m.in. do zajęcia budynku KW PZPR w Gdańsku przez protestujących.

W latach 1990–1991 dyrektor generalny Gdańskiej Izby Prywatnego Przemysłu i Handlu, a następnie w latach 1994–1996 prezes Gdańskiej Izby Gospodarczej, ponadto od 1996 do 1998 wiceprezes Pomorskiej Izby Przemysłowo-Handlowej. W 1991 pracował jako dyrektor handlowy PPH Marżal, następnie do 1999 prezes Międzynarodowych Targów Gdańskich, a od 1999 do 2002 zastępca prezesa Gdańskiego Towarzystwa Budownictwa Społecznego. W kolejnych latach prezes i dyrektor naczelny spółki Rudoport z grupy ArcelorMittal Poland, był również pełnomocnikiem marszałka województwa pomorskiego ds. innowacji (1999–2000) oraz zastępcą kierownika Urzędu do Spraw Kombatantów i Osób Represjonowanych (2003). Działał także w trójmiejskim oddziale Rotary International, zasiadał w licznych radach nadzorczych (m.in. Elany Toruń). W 2012 przeszedł na emeryturę.