Prawie dziesięć lat spędził jako wykładowca i badacz w ośrodkach naukowych Europy i Ameryki Północnej[3]. Zawodowo od ukończenia studiów związany z Uniwersytetem Warszawskim, przeszedł całą karierę zawodową od asystenta[1] do profesora zwyczajnego w Instytucie Informatyki i w Centrum Otwartej i Multimedialnej Edukacji[5]. W 1988 został kierownikiem Zakładu Systemów Operacyjnych w Instytucie Informatyki. Był dyrektorem tegoż Instytutu (1984–1996), prodziekanem Wydziału Matematyki, Informatyki i Mechaniki UW (1993–1996) i prorektorem Uniwersytetu Warszawskiego (1996–2002). Był autorem podręczników do nauki języków programowania Algol 60 i Pascal oraz autorem metodyki ich nauczania[1]. Swoje prace publikował w takich czasopismach jak m.in. „IEEE Transactions on Software”, „Bio-Algorithms and Med-Systems”, „Information Processing Letters” oraz „Software – Practice and Experience”[6][7][8].
Obejmował funkcje naukowe, społeczne i doradcze, m.in.: