This book shows how operator theory interacts with function theory in one and several variables. The authors develop the theory in detail, leading the reader to the cutting edge of contemporary research. It starts with a treatment of the theory of bounded holomorphic functions on the unit disc. Model theory and the network realization formula are used to solve Nevanlinna-Pick interpolation problems, and the same techniques are shown to work on the bidisc, the symmetrized bidisc, and other domains. The techniques are powerful enough to prove the Julia-Carathéodory theorem on the bidisc, Lempert’s theorem on invariant metrics in convex domains, the Oka extension theorem, and to generalize Loewner’s matrix monotonicity results to several variables. In Part II, the book gives an introduction to non-commutative function theory, and shows how model theory and the network realization formula can be used to understand functions of non-commuting matrices.