Cognitive load theory aims to develop instructional design guidelines based on a model of human cognitive architecture. The architecture assumes a limited working memory and an unlimited long-term memory holding cognitive schemas; expertise exclusively comes from knowledge stored as schemas in long-term memory. Learning is described as the construction and automation of such schemas. Three types of cognitive load are distinguished: intrinsic load is a direct function of the complexity of the performed task and the expertise of the learner; extraneous load is a result of superfluous processes that do not directly contribute to learning, and germane load is caused by learning processes that deal with intrinsic cognitive load. This paper discusses design guidelines that will decrease extraneous load, manage intrinsic load and optimise germane load. Fifteen design guidelines are discussed. Extraneous load can be reduced by the use of goal-free tasks, worked examples and completion tasks, by integrating different sources of information, using multiple modalities, and by reducing redundancy. Intrinsic load can be managed by simple-to-complex ordering of learning tasks and working from low- to high-fidelity environments. Germane load can be optimised by increasing variability over tasks, applying contextual interference, and evoking self-explanation. The guidelines are also related to the expertise reversal effect, indicating that design guidelines for novice learners are different from guidelines for more experienced learners. Thus, well-designed instruction for novice learners is different from instruction for more experienced learners. Applications in health professional education and current research lines are discussed.