Od 1989 do 1991 pełnił funkcję redaktora naczelnego „Tygodnika Gdańskiego”. Objął następnie stanowisko wiceprezesa zarządu spółki Prasa Bałtycka, a w 1998 prezesa zarządu Agencji Rozwoju Pomorza S.A. Od 2002 do 2005 był prezesem zarządu Grupy Zarządzającej Pomerania S.A. Wchodził także w skład rady nadzorczej KGHM Polska Miedź.
23 grudnia 2005 od prezydenta Lecha Kaczyńskiego otrzymał nominację na stanowisko sekretarza stanu w Kancelarii Prezydenta RP odpowiedzialnego za politykę medialną. Funkcję tę sprawował do 23 lipca 2007, stając następnie na czele Gabinetu Prezydenta RP. 6 lipca 2010 został odwołany ze stanowiska szefa Gabinetu Prezydenta RP.
W wyborach parlamentarnych w 2011 był bezpartyjnym kandydatem z listy Prawa i Sprawiedliwości do Sejmu z okręgu gdańskiego. Uzyskał mandat poselski, otrzymując 15 794 głosy. 27 listopada 2013 został zastępcą rzecznika prasowego i koordynatorem Biura Prasowego PiS. Został również prezesem zarządu stowarzyszenia Ruch Społeczny im. Prezydenta Rzeczypospolitej Polskiej Lecha Kaczyńskiego.
7 sierpnia 2015 prezydent Andrzej Duda powołał go na stanowisko sekretarza stanu w Kancelarii Prezydenta RP, w związku z czym doszło do wygaśnięcia jego mandatu poselskiego. 18 grudnia 2016 prezydent odwołał go z tego stanowiska.