W latach 2004–2018 był adiunktem w Zakładzie Prawa Konstytucyjnego i Badań Europejskich INP PAN (w latach 2014–2016 — kierował Zakładem). Od 2018 r. zatrudniony na stanowisku profesora nadzwyczajnego w Zakładzie Prawa i Administracji na Wydziale Administracji i Nauk Społecznych Politechniki Warszawskiej.
Członek i sekretarz Zespołu Ekspertów przy Marszałku Sejmu (2009) ds. przygotowania propozycji zmian w Konstytucji w zakresie spraw Unii Europejskiej.
Radca prawny w Okręgowej Izbie Radców Prawnych w Warszawie (2013).
W latach 1997–2006 ekspert do spraw legislacji w Biurze Studiów i Ekspertyz Kancelarii Sejmu, a następnie — w latach 2008–2012 — wicedyrektor Biura Analiz Sejmowych odpowiedzialny m.in. za reprezentację Sejmu w postępowaniach przed Trybunałem Konstytucyjnym. W latach 2006–2008 Kierownik Zespołu ds. Prawa Konstytucyjnego i Parlamentarnego oraz Orzecznictwa Trybunału Konstytucyjnego w Biurze Legislacyjnym Kancelarii Senatu. W latach 2012–2017 pracownik Biura Trybunału Konstytucyjnego na stanowisku asystenta sędziego Trybunału Konstytucyjnego.