He is a Professor (Professor Catedrático) at Departamento de Engenharia Informática, Instituto Superior Técnico, Universidade de Lisboa. From 1996 to July 2007 he served at the Departmento de Informática, Faculdade de Ciências (Faculty of Sciences), Universidade de Lisboa. He initiated his academic career at the Electrotechnic and Computers Engineering Department of Instituto Superior Técnico de Lisboa (IST) in 1989.
From 1986 to 1996 he was a member of the Distributed Systems and Industrial Automation Group at INESC. From 1997-2007, he was a (founding) member of the LASIGE laboratory at University of Lisbon, first as a member of the Navigators group and later as the leader of the Distributed Algorithms and Network Protocols group. He served as Director of the LASIGE in 2004-2005 and he served in the board of directors of INESC-ID Lisboa from 2010-2017. From July 2007 he is a member of the Distributed Systems Group at INESC-ID Lisboa.
His current interests include fault-tolerant distributed systems, concurrency, replicated data management, cloud computing, dynamic networks, information dissemination, and autonomic computing. He has more than 200 publications in these areas. He is co-author of two books (1, 2-3) on distributed computing. He is a member of the Ordem dos Engenheiros, ACM, and IEEE.