I was a bootcamp grad and I stayed at my first company for 3 years because the pay was adjusted to roughly market value (actually a little bit lower, but not too much) every year. I worked with a lot of other bootcamp grads, that have stayed there for 2-5 years. Our turnover rate for grads was very low.
Right now there are bootcamp grads that got hired before me that are still working at that company.
It's true that most bootcamps tell their grads that they should look for a new job every 1-2 years, but if you want to hold on to them, you have to pay them at roughly the same level they would get elsewhere. That's how you get them to stay.
You can't expect them to just leave money sitting on the table.
No matter how far I progressed, or how competent (even excellent) I became, I was still perceived as the "kid", even though my colleagues are only a few years older. I think I've mostly overcome this, but TBH I'm still not certain and I've been here for ~3.5 years in this role, and have been promoted to senior developer. None of that matters to my coworkers.
Moving teams is a much easier way to shed that "newbie" reputation (a path I decided not to take). Is it possible someone is creating this culture at your work that locks people into their role when they join the team?
It’s really the best group to hire. And you can always pick them up after their first couple of vests and they’ve grown so much. Way better than training your own and take no lead time.