He is a Professor (Professor Catedrático) at Departamento de Engenharia Informática, Instituto Superior Técnico, Universidade Técnica de Lisboa, where he now serves as Department Head. 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. From July 2007 he is a member of the Distributed Systems Group at INESC-ID Lisboa. He currently serves in the board of directors of INESC-ID Lisboa.
His current interests include fault-tolerant and real-time distributed systems, group membership and communication, replicated data management, publish-subscribe systems, peer-to-peer computing and mobile computing. He has more than 150 publications in these areas. He has served as PC co-chair of conferences, such as ICDCS, LADIS and Autonomics. 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.