Systems development research shows that practitioners seldom follow methods and that the competencies required for successful development of computer-based systems go well beyond those represented in contemporary methods. These insights make us question the role that methods should play in educating would-be developers. Pedagogical theories, such as situated learning and double-loop learning, complement these insights. Integrating the two, we argue that students need to complement the simplified accounts that methods express, with reflections on methods-in-use and on development practice in general. We present operationalizations of this idea in two quite different academic settings. Based on a retrospective analysis of our experiences in these settings, and a comparison and evaluation of the two approaches, we propose a number of lessons that can be used to improve the education of would-be developers.