Project-Based Learning (PjBL) is an educational design methodology embraced by instructors within engineering programs and, recently, in software engineering courses. PjBL enables students to confront real-world scenarios and apply their knowledge to create practical and meaningful software products, all while enhancing essential soft skills required in the software industry. This study draws upon the authors’ firsthand experiences implementing PjBL across four software engineering courses. It outlines the challenges encountered during each course iteration, emphasizing areas ripe for improvement in future offerings. Insights gathered from four years of teaching with PjBL are shared, detailing the positive and negative outcomes of employing various strategies to address challenges identified in prior course runs. The experience reported herein gives fellow software engineering educators valuable insights, enabling them to avoid ineffective approaches and integrate successful ones into their teaching endeavors.