wicedyrektor Sekretariatu Ministra (1973–1975), dyrektor Departamentu Organizacji Międzynarodowych MSZ (1975–1978), ambasador w Kanadzie (1978–1983), dyrektor Departamentu Prawno-Traktatowego (1983–1986) i ponownie Departamentu Organizacji Międzynarodowych (1986–1989), stały przedstawiciel Polski przy ONZ (1989–1991), wicedyrektor Departamentu Prawno-Traktatowego (do 1996). Na zakończenie kariery dyplomatycznej pełnił misję ambasadora RP w Syrii i Jordanii (1996 – 15 sierpnia 2001Postanowienie Prezydenta Rzeczypospolitej Polskiej z dnia 12 lipca 2001 r. nr Z. 110-57-2001 w sprawie odwołania Ambasadora Rzeczypospolitej Polskiej ().). Od 2002 ambasador tytularny.
W latach 2001–2005 doradca ds. międzynarodowych prezydenta RP Aleksandra Kwaśniewskiego.
Przedstawiciel Polski (członek delegacji) na Zgromadzeniach Ogólnych ONZ w Nowym Jorku w latach 1973–1978, 1983–1990, 2002–2005.
Profesor w Instytucie Stosunków Międzynarodowych Uniwersytetu Warszawskiego, gdzie wykładał od 1974, po 2001 jako pracownik nieetatowy, od 2013 profesor emeryt.