W latach 2004–2013 był adiunktem na Wydziale Prawa i Administracji Uniwersytetu Kardynała Stefana Wyszyńskiego w Warszawie w Katedrze Prawa Karnego. Od 2013 jest profesorem w Katedrze Kryminologii i Polityki Kryminalnej w Instytucie Profilaktyki Społecznej i Resocjalizacji UW kierowanej przez prof. Andrzeja Rzeplińskiego. Był stypendystą Komisji Fulbrighta i Fundacji im. Alexandra von Humboldta, kierownikiem i uczestnikiem projektów badawczych finansowanych ze środków MNiSzW i NCN.

W latach 2012–2018 był adwokatem związanym z kancelarią Sadkowski i Wspólnicy, a następnie prowadził kancelarię indywidualną. W latach 2016–2018 był sędzią Wyższego Sądu Dyscyplinarnego Adwokatury.

W 2018 w trakcie kryzysu wokół Sądu Najwyższego w Polsce zgłosił swoją kandydaturę na sędziego Izby Kontroli Nadzwyczajnej i Spraw Publicznych Sądu Najwyższego. We wrześniu 2018 Naczelna Rada Adwokacka, która w sierpniu 2018 przyjęła uchwałę, że udział adwokatów w naborze do Sądu Najwyższego „stoi w sprzeczności z wartościami, jakimi kieruje się adwokatura”, odwołała go z funkcji członka kolegium redakcyjnego „Palestry”.