W latach 1978–1986 pełnił m.in. funkcje – asystenta/starszego asystenta w Polskim Instytucie Spraw Międzynarodowych. Następnie był II i I sekretarzem wydziału politycznego ambasady RP w Berlinie (1986–1990). Przebywał na stypendiach naukowych, np. paryskiego Instytutu Studiów Strategicznych Unii Zachodnioeuropejskiej, Heskiej Fundacji Badań nad Pokojem i Konfliktami we Frankfurcie nad Menem, TEMPUS. Wykładał w międzyczasie na Uniwersytecie w Poczdamie. Kontynuował pracę w Ministerstwie Spraw Zagranicznych, pełniąc funkcję radcy ministra w Departamencie Badań Strategicznych, następnie w Departamencie Studiów i Planowania MSZ (1993), radcy/I radcy w ambasadzie w Wiedniu (1995–2002). Pełnił obowiązki zastępcy dyrektora/dyrektora Departamentu Systemu Informacji MSZ (2002–2005), konsula generalnego w Sankt Petersburgu (2005–2011) i we Lwowie (2011–2015). W 2019 zakończył pracę w MSZ.
W 2002 został profesorem na Uniwersytecie Kardynała Stefana Wyszyńskiego w Warszawie.