Służba wojskowa Po promocji oficerskiej otrzymał przydział służbowy na korwetę rakietową ORP „Górnik”, na której był kolejno dowódcą działu II rakietowo-artyleryjskiego (1983–1987), zastępcą dowódcy okrętu (1987–1988) i dowódcą okrętu (1988–1993). Od 1993 pracował w Sztabie 2 dywizjonu Okrętów Rakietowych w Gdyni, początkowo jako starszy oficer operacyjny, a później szef Sztabu – zastępca dowódcy dywizjonu. W 1997 wyznaczono go dowódcą 2 dywizjonu Okrętów Rakietowych, a w 2000 został starszym specjalistą Oddziału Operacyjnego w Dowództwie Marynarki Wojennej w Gdyni. Od 2003 do 2004 kierował Pionem Działań Bieżących w Centrum Operacji Morskich w Gdyni. Następnie został szefem Sztabu 3 Flotylli Okrętów w Gdyni. 27 czerwca 2006 objął stanowisko dowódcy 3 Flotylli Okrętów, a w 2009 został zastępcą szefa Sztabu Marynarki Wojennej. Od 1 października 2009 do 31 sierpnia 2011 roku pełnił obowiązki na stanowisku zastępcy szefa Sztabu ds. Wsparcia Dowództwa Komponentu Morskiego NATO w Northwood. Od października 2013 roku zajmował stanowiska w Zarządzie Szkolenia - P7 Sztabu Generalnego Wojska Polskiego. Wcześniej jako zastępca szefa, a do 23 lipca 2014 jako Szef Zarządu.