Computational protein design is making substantial progress, and has generated stable and accurate small protein folds, coiled coils, and large oligomeric assemblies. The design of protein binders and enzymes, by contrast, has been less successful, mainly due to the large size and complexity of most functional proteins. To address the challenge of designing functional proteins, we have developed a strategy that uses evolutionary principles to guide atomistic design calculations in the Rosetta software suite for biomolecular design. Using this strategy, we developed a fully automated algorithm for designing variants of natural proteins with substantial improvement in stability; for instance, we designed the first variants of the human enzyme acetylcholinesterase that are expressible, stable and fully functional in bacterial cells. We extended the method to the design of challenging microbial proteins that may serve as vaccine immunogens, and applied it to designing a variant of the malaria parasite protein RH5 that can be produced economically in bacterial cells. We also demonstrate how our strategy can be used to design variants of antibodies and enzymes with 100-1,000 fold improved affinity or catalytic rate, and to design new binders and enzymes with high stability, specificity, activity, and accuracy. The design methods are fully automated, and will enable the complete computational design of antibodies or enzymes with desired molecular properties.