Hagen started his career at the Computer Laboratory of the Mathematical Centre. Later, he initiated the Dutch and the European Unix User Groups NLUUG and EUUG (that became later EURopen). As chairman of EUUG, he started the European Unix Network (EUnet) in 1982 as the EUUG dial-up service. EUnet was the first public wide area network.
At the University of California, Berkeley, he started in 1983 working with TCP/IP. One of his team members, Daniel Karrenberg, is the author of the report in favor of TCP/IP for global networking in Europe.
From 1992 to 2008 Hagen was chairman and director at NLnet and helped it to become the first Dutch Internet Service Provider. NLnet funds free Internet research and development. In this position, Hagen became 2004 involved with the community-driven certificate authority CAcert and served as board member and in 2008 as president.