Protein engineering is widely used to generate proteins with novel or enhanced function. However, manipulating protein function in the laboratory can prove laborious, protracted and challenging. Recent developments in the understanding of protein evolutionary dynamics have unveiled the full extent by which the evolution of function is limited by protein stability - a revelation that may be applied to protein engineering on a whole. Thus, strategies that modulate protein stability and reduce its constraining effects may facilitate the engineering of protein function. A combinatorial approach involving the introduction of compensatory mutations and manipulation of the stability threshold by chaperone buffering during directed evolution can improve the functional adaptation of a protein, thereby fostering our ability to attain ever-more ambitious protein functions in the laboratory.