The purpose of this review article is to give an up to date account of the theory and application of scale functions for spectrally negative Lévy processes. Our review also includes the first extensive overview of how to work numerically with scale functions. Aside from being well acquainted with the general theory of probability, the reader is assumed to have some elementary knowledge of Lévy processes, in particular a reasonable understanding of the Lévy-Khintchine formula and its relationship to the Lévy-Itô decomposition. We shall also touch on more general topics such as excursion theory and semi-martingale calculus. However, wherever possible, we shall try to focus on key ideas taking a selective stance on the technical details. For the reader who is less familiar with some of the mathematical theories and techniques which are used at various points in this review, we note that all the necessary technical background can be found in the following texts on Lévy processes;