Guru beberapa SMA di Metro, Lampung (1968-1969)
Peneliti Pusat Penelitian Sejarah dan Antropologi, Yogyakarta (1970- 1976)
Staf pengajar Sekolah Tinggi Filsafat Driyarkara, Jakarta (1978-1979)
Direktur Direktorat Sejarah dan Nilai Tradisional Departemen Pendidikan dan Kebudayaan Republik Indonesia (1996-1999)
Deputi Menteri Kebudayaan dan Pariwisata Bidang Sejarah dan Purbakala Kementerian Kebudayaan dan Pariwisata Republik Indonesia (2001-2003)
Dosen pembimbing bidang studi sejarah pada Program Pascasarjana Universitas Indonesia (sejak 1991) dan Jurusan Sejarah Universitas Negeri Jakarta (sejak 2001)
Staf pengajar di Fakultas Ilmu Administrasi Universitas Katolik Atma Jaya, Jakarta (sejak 1984) dan Sekolah Tinggi Intelijen Negara, Sentul, Bogor (sejak 2005)