W latach 2001–2007 odbył etatową aplikację prokuratorską, a następnie pracował jako asesor w prokuraturach okręgu białostockiego.
W latach 2007–2010 był szefem delegatury Centralnego Biura Antykorupcyjnego w Rzeszowie. Pod odejściu z CBA rozpoczął indywidualną praktykę adwokacką.
18 listopada 2015 wybrany przez Sejm VIII kadencji na członka Trybunału Stanu. 11 grudnia 2015 złożył przed marszałkiem Sejmu ślubowanie i tym samym oficjalnie rozpoczął kadencję sędziego Trybunału Stanu. 21 listopada 2019 wybrany przez Sejm IX kadencji na członka Trybunału Stanu. 20 grudnia 2019 złożył przed marszałkiem Sejmu ślubowanie i tym samym oficjalnie rozpoczął kolejną kadencję sędziego Trybunału Stanu. 21 listopada 2023 wybrany przez Sejm X kadencji na członka Trybunału Stanu. 14 grudnia 2023 złożył przed marszałkiem Sejmu ślubowanie i tym samym oficjalnie rozpoczął kadencję sędziego Trybunału Stanu .
19 kwietnia 2016 powołany na prokuratora, pełnił funkcję Prokuratora Okręgowego w Białymstoku, a następnie do 2 kwietnia 2017 Zastępcą Prokuratora Regionalnego w Białymstoku. Z dniem 2 kwietnia 2017 roku zrezygnował ze stanowiska prokuratora. Członek Komisji Egzaminacyjnej do spraw aplikacji adwokackiej przy Ministrze Sprawiedliwości z siedzibą w Białymstoku (Dziennik Urzędowy Ministra Sprawiedliwości z 2016 roku, poz.