Carnegie Mellon University

Teaching-track Position

The Institute for Software Research (ISR) in the School of Computer Science (SCS) at Carnegie Mellon University invites applications for multiple teaching-track positions in software engineering.  These are career-oriented, renewable appointments with an initial appointment of three years at the rank of Assistant or Associate Teaching Professor commensurate with the experience of the candidate. These ranks are not tenured, but they do provide substantial opportunities for professional growth and long-term contributions to software engineering education at Carnegie Mellon University. 

We are seeking to fill two positions this year.  One position is focused on Masters education, specifically in the Masters of Software Engineering (MSE) program; the other position will broadly support our computer science and software engineering educational programs. We especially invite candidates with a demonstrated track record in mentoring and engaging members of groups traditionally underrepresented in software engineering and computer science.  ISR promotes a balanced teaching load to allow faculty to have a deeper engagement with students as well as time to pursue research, advise students, design or participate in outreach programs, create new courses, explore and experiment with new teaching methodologies.

Masters Focused Position

The MSE family of programs comprises a Master of Software Engineering Program focused on experienced individual contributors seeking to transition into a leadership position and two more technical oriented programs: MSE-Scalable Systems and MSE-Embedded Systems addressing the needs of fresh graduates wishing to develop excellence in these areas. The three programs are offered at our campus in Pittsburgh, with the Master of Software Engineering Program also offered on a distance modality to serve working students.

Because the MSE programs embrace a learning by doing philosophy, faculty is expected to have weekly meetings with students working in their capstone projects and serve as mentors for their teams. The program graduates approximately sixty students per year, so class sizes are not huge.

We are particularly interested in candidates that can teach courses in one or more of the following areas: 

  • Quality assurance (e.g., testing, applied formal methods, modeling and analysis of software systems, chaos engineering, data quality and assurance for autonomous and ML enabled systems)
  • Solutions design (e.g., business process modeling, design thinking, service design, user experience design and human computer interfaces.)
  • Software architecture (e.g., micro services, real-real time, cloud computing, IoT and ML/AI enabled systems) 
  • Processes and Management (e.g., plan based, agile and hybrid development approaches, empirical software engineering techniques, process improvement frameworks)

Applicants to this position are expected to have an advanced degree, e.g. M.S. along with significant professional experience or a PhD. in computer science, software engineering, or a related field.     

Undergraduate focused position

Additionally, we are looking for a position to support the undergraduate program in Software Engineering. The undergraduate program offers a minor in software engineering, and candidates will be involved in teaching a variety of courses in software engineering.  Additionally, there are opportunities to be involved in CS/SE curriculum development, as well as CS/SE educational scholarship.  Teaching track faculty serve on various committees alongside other faculty at the department, school, and university levels. 

For this position, we seek candidates with expertise in software engineering practices, and an aptitude for teaching and engaging students.  Faculty candidates are expected to have an advanced degree (PhD) in computer science, software engineering, or a related field.  

Applicants should submit (1) a letter of application describing their interests in teaching teaching undergraduates and/or Master’s students at Carnegie Mellon University and in promoting inclusion and diversity in software engineering, (2) a curriculum vitae, (3) a statement of teaching philosophy, (4) the names and email addresses of three or more individuals whom the applicant has asked to provide letters of reference, and if available, (5) supplementary materials including teaching evaluations, video samples of teaching, curriculum portfolios, and activities related to promoting inclusion and diversity.

Carnegie Mellon considers applicants for employment without regard to, and does not discriminate on the basis of, gender, race, protected veteran status, disability, sexual orientation, gender identity, or any additional legally protected status.