1958 bis 1960 war er Lehrbeauftragter an der University of Chicago. 1960 wurde er Assistenzprofessor in Berkeley, wo er sich unter anderem mit Modallogik beschäftigte (Buch mit dem 1966 verstorbenen John Lemmon, An introduction to modal logic, 1977). 1963 bis 1967 war er Assistenzprofessor und danach bis 1969 Professor für Mathematik und Logik an der Stanford University. 1968/69 war er Gastprofessor an der Universität von Amsterdam, 1969–1972 Professor für Philosophie und Mathematik in Princeton. 1972 bis 1981 war er Professor für mathematische Logik in Oxford, wo er zusammen mit Christopher Strachey über die Semantik von Programmiersprachen arbeitete (Denotational Semantics, Begründung der „Domain Theory“, für diese Arbeiten erhielt er 1990 den Harold-Pender-Preis und 1997 den Rolf-Schock-Preis). Die Zusammenarbeit der beiden begann schon während eines Aufenthalts in Oxford 1969. 1981 bis zu seiner Emeritierung 2003 war er Professor für Informatik, mathematische Logik und Philosophie an der Carnegie Mellon University in Pittsburgh, wo er mit Herbert A. Simon ab 1985 auch die Fakultät für Philosophie aufzubauen half. 1992/93 war er Gastprofessor an der Johannes Kepler Universität Linz, 2001 am Mittag-Leffler-Institut in Stockholm, und 2003 Gastwissenschaftler der Alexander von Humboldt-Stiftung in München. Zu seinen rund 50 Doktoranden gehören Kenneth Kunen und Angus Macintyre.
1967 führte er (einer Anregung von Robert Solovay folgend, der dies zur gleichen Zeit ebenso wie Petr Vopěnka unabhängig tat) boole-wertige Modelle ein, die er zu einem neuen Beweis der Unabhängigkeit der Kontinuumshypothese (bewiesen 1963 von Paul Cohen) benutzte (A proof of the independence of the continuum hypothesis, Mathematical Systems Theory Bd. 1, 1967, S. 89–111). Dafür erhielt er 1972 den Leroy P. Steele Prize.