I've had to do this. First job out of college was working for my alma mater. It was incredibly rewarding to give back to a place that had given me so much. I helped build systems and improve efficiencies for fellow staff and faculty. It was amazing and felt like my dream job.<p>But after a few years, I realized there was a plateau and I was on it. My technical skills had matched fellow developers around me. We also were the only software development team on staff and a pretty small one at that. I realized if I wanted to continue to grow and learn I would have to look elsewhere.<p>It was bittersweet as said alma mater holds a special place in my heart, but it was honestly the best thing for me. Landed a job where I got to learn how to scale systems to millions of clients and what it's like to work in a giant Fortune 100. Wasn't my favorite (not totally fulfilling work) and later found something in-between that fits exactly what I need and want.<p>If you're like me and on the fence about leaving a good job you've outgrown, I'd say leave it. The next one probably won't be your dream job, but I bet you'll learn a lot along the way.