A substantial portion of any software engineer's job is reading code. Despite the criticality of this skill in a budding software engineer, reading code-and more specifically, techniques on how to read code when integrating oneself into a large existing software project-is often neglected in the typical software engineering education. As part of a new professional Master of Software Engineering at the University of California, Irvine, we designed and delivered a "reading to write code" course from the ground up. Titled Reverse Engineering and Modeling, the course introduces students to techniques they can use to become familiar with a large code base, so they are able to make meaningful contributions. In this paper, we briefly introduce the Master program and its underlying philosophy, articulate the course's learning outcomes, present the design of the course, and provide a detailed reflection on our experiences in terms of what went well, what did not go well, what we do not know yet, and what our next steps are in preparing for the forthcoming incarnation of the course in Spring 2022. In so doing, we hope to provide a baseline together with lessons learned for others who may be interested in instituting a similar course at their institution.